<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Differential_pulse-code_modulation</id>
	<title>Differential pulse-code modulation - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Differential_pulse-code_modulation"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Differential_pulse-code_modulation&amp;action=history"/>
	<updated>2026-05-04T17:35:29Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Differential_pulse-code_modulation&amp;diff=5489109&amp;oldid=prev</id>
		<title>imported&gt;OAbot: Open access bot: url-access=subscription updated in citation with #oabot.</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Differential_pulse-code_modulation&amp;diff=5489109&amp;oldid=prev"/>
		<updated>2025-11-17T06:03:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/OABOT&quot; class=&quot;extiw&quot; title=&quot;wikipedia:OABOT&quot;&gt;Open access bot&lt;/a&gt;: url-access=subscription updated in citation with #oabot.&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:03, 17 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{short description|Signal encoder}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{short description|Signal encoder}}{{&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;More citations needed&lt;/ins&gt;|date=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;November 2025&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;One source&lt;/del&gt;|date=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;September 2020&lt;/del&gt;}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Differential pulse-code modulation&#039;&#039;&#039; (&#039;&#039;&#039;DPCM&#039;&#039;&#039;) &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;encodes changes between consecutive samples of &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;signal&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]], rather than &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;signal&#039;s value directly (as done in &lt;/ins&gt;[[pulse-code modulation]])&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Decoding might thus be done by &lt;/ins&gt;some &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;manner &lt;/ins&gt;of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Integral|integrating]] DPCM &lt;/ins&gt;samples &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;over time&lt;/ins&gt;. The input can be an [[analog signal]] or a [[Digital signal (signal processing)|digital signal]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Differential pulse-code modulation&#039;&#039;&#039; (&#039;&#039;&#039;DPCM&#039;&#039;&#039;) &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is &lt;/del&gt;a signal &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;encoder that uses &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;baseline of &lt;/del&gt;[[pulse-code modulation]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(PCM&lt;/del&gt;) &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;but adds &lt;/del&gt;some &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;functionalities based on the prediction &lt;/del&gt;of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/del&gt;samples &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;of the signal&lt;/del&gt;. The input can be an [[analog signal]] or a [[Digital signal (signal processing)|digital signal]].&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If the input is a [[continuous-time]] analog signal, it needs to be [[sampling (signal processing)|sampled]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;first so that &lt;/del&gt;a [[discrete-time signal]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is the input &lt;/del&gt;to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/del&gt;DPCM &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;encoder.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;If the input is a [[continuous-time]] analog signal, it needs to be [[sampling (signal processing)|sampled]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to become &lt;/ins&gt;a [[discrete-time signal]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Two methods &lt;/ins&gt;to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;encode each &lt;/ins&gt;DPCM &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;value are:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Option &lt;/del&gt;1: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;take the values of two consecutive samples; if they are analog samples&lt;/del&gt;, [[quantization (signal processing)|quantize]] &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;them; calculate &lt;/del&gt;the difference between the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;first one &lt;/del&gt;and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the next; the output is the difference&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Method &lt;/ins&gt;1: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;First&lt;/ins&gt;, [[quantization (signal processing)|quantize]] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the samples (if not quantized already). The output is &lt;/ins&gt;the difference between the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;current &lt;/ins&gt;and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;previous sample&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Option &lt;/del&gt;2: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;instead of taking a &lt;/del&gt;difference &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;relative to a previous input &lt;/del&gt;sample&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, take the difference relative to &lt;/del&gt;the output of a local &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;model of the &lt;/del&gt;decoder &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;process; in this option, the difference can be quantized, which allows a good way to incorporate a controlled loss in the encoding&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Method &lt;/ins&gt;2: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Quantize the &lt;/ins&gt;difference &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;between the current &lt;/ins&gt;sample &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;and &lt;/ins&gt;the output of a local decoder.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Applying one of these two &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;processes&lt;/del&gt;, short-term redundancy (positive correlation of nearby values) of the signal is eliminated; compression ratios on the order of 2 to 4 can be achieved if differences are subsequently [[entropy coded]] because the entropy of the difference signal is much smaller than that of the original discrete signal treated as independent samples.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Applying one of these two &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;methods&lt;/ins&gt;, short-term redundancy (positive correlation of nearby values) of the signal is eliminated; compression ratios on the order of 2 to 4 can be achieved if differences are subsequently [[entropy coded]]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;because the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Entropy (information theory)|&lt;/ins&gt;entropy&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] &lt;/ins&gt;of the difference signal is much smaller than that of the original discrete signal treated as independent samples. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;But removing this redundancy makes the encoded signal more fragile.&amp;lt;ref name=&quot;:0&quot;&amp;gt;{{Cite journal |last=O&#039;Neal |first=J. B. |date=1965-12-27 |title=Predictive quantizing systems (differential pulse code modulation) for the transmission of television signals |url=https://ieeexplore.ieee.org/document/6767674 |journal=The Bell System Technical Journal |volume=45 |issue=5 |pages=689–721 |doi=10.1002/j.1538-7305.1966.tb01052.x |issn=0005-8580|url-access=subscription }}&amp;lt;/ref&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DPCM was invented by [[C. Chapin Cutler]] at [[Bell Labs]] in 1950&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;; his patent includes both methods&lt;/del&gt;.&amp;lt;ref&amp;gt;U.S. patent 2605361, C. Chapin Cutler, [https://patents.google.com/patent/US2605361 &quot;Differential Quantization of Communication Signals&quot;], filed June 29, 1950, issued July 29, 1952&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== History ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Delta modulation]] was introduced earlier than and can be considered a special case of DPCM, as it also uses a similar [[feedback]] principle.&amp;lt;ref name=&quot;:0&quot; /&amp;gt; &lt;/ins&gt;DPCM was invented by [[C. Chapin Cutler]] at [[Bell Labs]] in 1950&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. In addition to a method that encodes the signal&#039;s [[derivative]], Cutler also describes a method that encodes the second-derivative (which reconstructs the signal using a double-integral) and a method that encodes the third-derivative of the signal (which reconstructs the signal using a triple-integral)&lt;/ins&gt;.&amp;lt;ref&amp;gt;U.S. patent 2605361, C. Chapin Cutler, [https://patents.google.com/patent/US2605361 &quot;Differential Quantization of Communication Signals&quot;], filed June 29, 1950, issued July 29, 1952&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Option &lt;/del&gt;1: difference between &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;two &lt;/del&gt;consecutive quantized samples==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;= Predictive quantizing ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Cutler&#039;s methods also are considered a specific case of the more general concept of predictive quantizing systems, a term sometimes used interchangeably with DPCM. A Bell Labs article by J. B. O&#039;Neal, Jr. says, &quot;A predictive communications system is one in which the difference between the actual signal and an estimate of the signal, based on its past, is transmitted. Both the transmitter and the receiver make an estimate or prediction of the signal&#039;s value based on the previously transmitted signal. The transmitter subtracts this prediction from the true value of the signal and transmits this difference. The receiver adds this prediction to the received difference signal yielding the true signal.&quot;&amp;lt;ref name=&quot;:0&quot; /&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Method &lt;/ins&gt;1: difference between consecutive quantized samples ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The encoder performs the function of differentiation; a quantizer precedes the differencing of adjacent quantized samples; the decoder is an accumulator, which if correctly initialized exactly recovers the quantized signal.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The encoder performs the function of differentiation; a quantizer precedes the differencing of adjacent quantized samples; the decoder is an accumulator, which if correctly initialized exactly recovers the quantized signal.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Option &lt;/del&gt;2: analysis by synthesis==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Method &lt;/ins&gt;2: analysis by synthesis ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The incorporation of the decoder inside the encoder allows quantization of the differences, including nonlinear quantization, in the encoder, as long as an approximate inverse quantizer is used appropriately in the receiver. When the quantizer is uniform, the decoder regenerates the differences implicitly, as in this simple diagram that Cutler showed:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The incorporation of the decoder inside the encoder allows quantization of the differences, including nonlinear quantization, in the encoder, as long as an approximate inverse quantizer is used appropriately in the receiver&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. Quantization error from previous samples is accumulated via the integration, so subsequent quantizations compensate partly for prior accumulated quantization errors&lt;/ins&gt;. When the quantizer is uniform, the decoder regenerates the differences implicitly, as in this simple diagram that Cutler showed:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Cutler DPCM patent.png|center|thumb|500px]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[File:Cutler DPCM patent.png|center|thumb|500px]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;OAbot</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Differential_pulse-code_modulation&amp;diff=889761&amp;oldid=prev</id>
		<title>imported&gt;IznoRepeat: add WP:TEMPLATECAT to remove from template; genfixes</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Differential_pulse-code_modulation&amp;diff=889761&amp;oldid=prev"/>
		<updated>2024-12-05T23:53:42Z</updated>

		<summary type="html">&lt;p&gt;add &lt;a href=&quot;/wiki143/index.php?title=WP:TEMPLATECAT&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;WP:TEMPLATECAT (page does not exist)&quot;&gt;WP:TEMPLATECAT&lt;/a&gt; to remove from template; genfixes&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{short description|Signal encoder}}&lt;br /&gt;
{{One source|date=September 2020}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Differential pulse-code modulation&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;DPCM&amp;#039;&amp;#039;&amp;#039;) is a signal encoder that uses the baseline of [[pulse-code modulation]] (PCM) but adds some functionalities based on the prediction of the samples of the signal. The input can be an [[analog signal]] or a [[Digital signal (signal processing)|digital signal]].&lt;br /&gt;
&lt;br /&gt;
If the input is a [[continuous-time]] analog signal, it needs to be [[sampling (signal processing)|sampled]] first so that a [[discrete-time signal]] is the input to the DPCM encoder.&lt;br /&gt;
* Option 1: take the values of two consecutive samples; if they are analog samples, [[quantization (signal processing)|quantize]] them; calculate the difference between the first one and the next; the output is the difference.&lt;br /&gt;
* Option 2: instead of taking a difference relative to a previous input sample, take the difference relative to the output of a local model of the decoder process; in this option, the difference can be quantized, which allows a good way to incorporate a controlled loss in the encoding.&lt;br /&gt;
&lt;br /&gt;
Applying one of these two processes, short-term redundancy (positive correlation of nearby values) of the signal is eliminated; compression ratios on the order of 2 to 4 can be achieved if differences are subsequently [[entropy coded]] because the entropy of the difference signal is much smaller than that of the original discrete signal treated as independent samples.&lt;br /&gt;
&lt;br /&gt;
DPCM was invented by [[C. Chapin Cutler]] at [[Bell Labs]] in 1950; his patent includes both methods.&amp;lt;ref&amp;gt;U.S. patent 2605361, C. Chapin Cutler, [https://patents.google.com/patent/US2605361 &amp;quot;Differential Quantization of Communication Signals&amp;quot;], filed June 29, 1950, issued July 29, 1952&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Option 1: difference between two consecutive quantized samples==&lt;br /&gt;
The encoder performs the function of differentiation; a quantizer precedes the differencing of adjacent quantized samples; the decoder is an accumulator, which if correctly initialized exactly recovers the quantized signal.&lt;br /&gt;
&lt;br /&gt;
==Option 2: analysis by synthesis==&lt;br /&gt;
The incorporation of the decoder inside the encoder allows quantization of the differences, including nonlinear quantization, in the encoder, as long as an approximate inverse quantizer is used appropriately in the receiver. When the quantizer is uniform, the decoder regenerates the differences implicitly, as in this simple diagram that Cutler showed:&lt;br /&gt;
&lt;br /&gt;
[[File:Cutler DPCM patent.png|center|thumb|500px]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Adaptive differential pulse-code modulation]]&lt;br /&gt;
* [[Delta modulation]], a special case of DPCM where the differences e&amp;lt;sub&amp;gt;Q&amp;lt;/sub&amp;gt;[n] are represented with 1 bit as ±Δ&lt;br /&gt;
* [[Pulse modulation methods]]&lt;br /&gt;
* [[Delta-sigma modulation]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Compression methods}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Telephony signals]]&lt;br /&gt;
[[Category:Data compression]]&lt;/div&gt;</summary>
		<author><name>imported&gt;IznoRepeat</name></author>
	</entry>
</feed>