{"id":50,"date":"2005-03-20T22:01:04","date_gmt":"2005-03-21T05:01:04","guid":{"rendered":"\/?p=50"},"modified":"2006-05-05T19:50:30","modified_gmt":"2006-05-06T02:50:30","slug":"video-coding-concepts-differential-coding","status":"publish","type":"post","link":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/","title":{"rendered":"Video Coding Concepts: Differential Coding"},"content":{"rendered":"<p><em>This article is now expanded and maintained at <a href=\"http:\/\/wiki.multimedia.cx\/index.php?title=Differential_Coding\">http:\/\/wiki.multimedia.cx\/index.php?title=Differential_Coding<\/a>.<\/em><\/p>\n<p>Differential coding explained:<\/p>\n<p>1 + 1 = 2<\/p>\n<p>Got that? <\/p>\n<p><!--more--><\/p>\n<p>Some people like to over-explain things in order to make themselves sound smart. Differential coding, a.k.a. delta coding, prediction coding, predictive coding, delta\/differential pulse code modulation or DPCM, is just a fancy name for &#8220;adding numbers&#8221; (or subtracting numbers, or adding negative numbers so the net result is subtraction).<\/p>\n<p>Differential coding operates by making numbers small. This is a major goal in compression technology: Making numbers small. Why? Smaller numbers require less information to code than larger numbers. Actually, I think it would be more accurate to claim that similar numbers require less information to code. However, sticking to that approach requires the video codec to figure out information about what the set of similar numbers is. Instead, it is more efficient to build a video codec around the assumption that the set of similar numbers will consist of small numbers. The specific reasons why this matters will be discussed in a later article. <\/p>\n<p>Suppose you are working with a string of bytes. Bytes range from 0..255. Here is a string:<\/p>\n<p>150 152 149 150 151 156 153 151 152<\/p>\n<p>On the scale of 0..255, those are reasonably large. However, they are quite similar to each other. Instead of coding each number separately, code the differences. Of course, the sequence has to start somewhere, so the first number is coded as-is, and the subsequent numbers are coded as differences from the previous number:<\/p>\n<p>150 +2 -3 +1 +1 +5 -3 -2 +1<\/p>\n<p>When decoding this string of numbers, start with the first number and start adding the deltas to get the remaining numbers:<\/p>\n<p>150<br \/>\n150 + 2 = 152<br \/>\n152 + -3 = 149<br \/>\n149 + 1 = 150<br \/>\n&#8230; and so on. That&#8217;s really all there is to differential coding.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Understanding differential coding, or delta coding, or DPCM<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14,16],"tags":[],"class_list":["post-50","post","type-post","status-publish","format-standard","hentry","category-codec-technology","category-video-codecs"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Understanding differential coding, or delta coding, or DPCM\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Multimedia Mike\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Breaking Eggs And Making Omelettes | Topics On Multimedia Technology and Reverse Engineering\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Video Coding Concepts: Differential Coding | Breaking Eggs And Making Omelettes\" \/>\n\t\t<meta property=\"og:description\" content=\"Understanding differential coding, or delta coding, or DPCM\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2005-03-21T05:01:04+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2006-05-06T02:50:30+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Video Coding Concepts: Differential Coding | Breaking Eggs And Making Omelettes\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Understanding differential coding, or delta coding, or DPCM\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/video-coding-concepts-differential-coding\\\/#article\",\"name\":\"Video Coding Concepts: Differential Coding | Breaking Eggs And Making Omelettes\",\"headline\":\"Video Coding Concepts: Differential Coding\",\"author\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/author\\\/multimedia-mike\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#organization\"},\"datePublished\":\"2005-03-20T22:01:04-08:00\",\"dateModified\":\"2006-05-05T19:50:30-07:00\",\"inLanguage\":\"en-US\",\"commentCount\":1,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/video-coding-concepts-differential-coding\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/video-coding-concepts-differential-coding\\\/#webpage\"},\"articleSection\":\"Codec Technology, Video Codecs\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/video-coding-concepts-differential-coding\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/multimedia.cx\\\/eggs\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/codec-technology\\\/#listItem\",\"name\":\"Codec Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/codec-technology\\\/#listItem\",\"position\":2,\"name\":\"Codec Technology\",\"item\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/codec-technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/codec-technology\\\/video-codecs\\\/#listItem\",\"name\":\"Video Codecs\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/codec-technology\\\/video-codecs\\\/#listItem\",\"position\":3,\"name\":\"Video Codecs\",\"item\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/codec-technology\\\/video-codecs\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/video-coding-concepts-differential-coding\\\/#listItem\",\"name\":\"Video Coding Concepts: Differential Coding\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/codec-technology\\\/#listItem\",\"name\":\"Codec Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/video-coding-concepts-differential-coding\\\/#listItem\",\"position\":4,\"name\":\"Video Coding Concepts: Differential Coding\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/category\\\/codec-technology\\\/video-codecs\\\/#listItem\",\"name\":\"Video Codecs\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#organization\",\"name\":\"Breaking Eggs And Making Omelettes\",\"description\":\"Topics On Multimedia Technology and Reverse Engineering\",\"url\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/author\\\/multimedia-mike\\\/#author\",\"url\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/author\\\/multimedia-mike\\\/\",\"name\":\"Multimedia Mike\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/video-coding-concepts-differential-coding\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2eb93f7cada658f7986b5092062849fa255779eada3342c8f6b9a40764b95fdd?s=96&d=identicon&r=g\",\"width\":96,\"height\":96,\"caption\":\"Multimedia Mike\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/video-coding-concepts-differential-coding\\\/#webpage\",\"url\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/video-coding-concepts-differential-coding\\\/\",\"name\":\"Video Coding Concepts: Differential Coding | Breaking Eggs And Making Omelettes\",\"description\":\"Understanding differential coding, or delta coding, or DPCM\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/video-coding-concepts-differential-coding\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/author\\\/multimedia-mike\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/author\\\/multimedia-mike\\\/#author\"},\"datePublished\":\"2005-03-20T22:01:04-08:00\",\"dateModified\":\"2006-05-05T19:50:30-07:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#website\",\"url\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/\",\"name\":\"Breaking Eggs And Making Omelettes\",\"description\":\"Topics On Multimedia Technology and Reverse Engineering\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/multimedia.cx\\\/eggs\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Video Coding Concepts: Differential Coding | Breaking Eggs And Making Omelettes","description":"Understanding differential coding, or delta coding, or DPCM","canonical_url":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/#article","name":"Video Coding Concepts: Differential Coding | Breaking Eggs And Making Omelettes","headline":"Video Coding Concepts: Differential Coding","author":{"@id":"https:\/\/multimedia.cx\/eggs\/author\/multimedia-mike\/#author"},"publisher":{"@id":"https:\/\/multimedia.cx\/eggs\/#organization"},"datePublished":"2005-03-20T22:01:04-08:00","dateModified":"2006-05-05T19:50:30-07:00","inLanguage":"en-US","commentCount":1,"mainEntityOfPage":{"@id":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/#webpage"},"isPartOf":{"@id":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/#webpage"},"articleSection":"Codec Technology, Video Codecs"},{"@type":"BreadcrumbList","@id":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs#listItem","position":1,"name":"Home","item":"https:\/\/multimedia.cx\/eggs","nextItem":{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/#listItem","name":"Codec Technology"}},{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/#listItem","position":2,"name":"Codec Technology","item":"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/video-codecs\/#listItem","name":"Video Codecs"},"previousItem":{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/video-codecs\/#listItem","position":3,"name":"Video Codecs","item":"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/video-codecs\/","nextItem":{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/#listItem","name":"Video Coding Concepts: Differential Coding"},"previousItem":{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/#listItem","name":"Codec Technology"}},{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/#listItem","position":4,"name":"Video Coding Concepts: Differential Coding","previousItem":{"@type":"ListItem","@id":"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/video-codecs\/#listItem","name":"Video Codecs"}}]},{"@type":"Organization","@id":"https:\/\/multimedia.cx\/eggs\/#organization","name":"Breaking Eggs And Making Omelettes","description":"Topics On Multimedia Technology and Reverse Engineering","url":"https:\/\/multimedia.cx\/eggs\/"},{"@type":"Person","@id":"https:\/\/multimedia.cx\/eggs\/author\/multimedia-mike\/#author","url":"https:\/\/multimedia.cx\/eggs\/author\/multimedia-mike\/","name":"Multimedia Mike","image":{"@type":"ImageObject","@id":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/2eb93f7cada658f7986b5092062849fa255779eada3342c8f6b9a40764b95fdd?s=96&d=identicon&r=g","width":96,"height":96,"caption":"Multimedia Mike"}},{"@type":"WebPage","@id":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/#webpage","url":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/","name":"Video Coding Concepts: Differential Coding | Breaking Eggs And Making Omelettes","description":"Understanding differential coding, or delta coding, or DPCM","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/multimedia.cx\/eggs\/#website"},"breadcrumb":{"@id":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/#breadcrumblist"},"author":{"@id":"https:\/\/multimedia.cx\/eggs\/author\/multimedia-mike\/#author"},"creator":{"@id":"https:\/\/multimedia.cx\/eggs\/author\/multimedia-mike\/#author"},"datePublished":"2005-03-20T22:01:04-08:00","dateModified":"2006-05-05T19:50:30-07:00"},{"@type":"WebSite","@id":"https:\/\/multimedia.cx\/eggs\/#website","url":"https:\/\/multimedia.cx\/eggs\/","name":"Breaking Eggs And Making Omelettes","description":"Topics On Multimedia Technology and Reverse Engineering","inLanguage":"en-US","publisher":{"@id":"https:\/\/multimedia.cx\/eggs\/#organization"}}]},"og:locale":"en_US","og:site_name":"Breaking Eggs And Making Omelettes | Topics On Multimedia Technology and Reverse Engineering","og:type":"article","og:title":"Video Coding Concepts: Differential Coding | Breaking Eggs And Making Omelettes","og:description":"Understanding differential coding, or delta coding, or DPCM","og:url":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/","article:published_time":"2005-03-21T05:01:04+00:00","article:modified_time":"2006-05-06T02:50:30+00:00","twitter:card":"summary","twitter:title":"Video Coding Concepts: Differential Coding | Breaking Eggs And Making Omelettes","twitter:description":"Understanding differential coding, or delta coding, or DPCM"},"aioseo_meta_data":{"post_id":"50","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2020-12-31 21:42:25","updated":"2025-12-31 18:12:04","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/multimedia.cx\/eggs\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/\" title=\"Codec Technology\">Codec Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/video-codecs\/\" title=\"Video Codecs\">Video Codecs<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tVideo Coding Concepts: Differential Coding\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/multimedia.cx\/eggs"},{"label":"Codec Technology","link":"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/"},{"label":"Video Codecs","link":"https:\/\/multimedia.cx\/eggs\/category\/codec-technology\/video-codecs\/"},{"label":"Video Coding Concepts: Differential Coding","link":"https:\/\/multimedia.cx\/eggs\/video-coding-concepts-differential-coding\/"}],"_links":{"self":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/50","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/comments?post=50"}],"version-history":[{"count":0,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/posts\/50\/revisions"}],"wp:attachment":[{"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/media?parent=50"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/categories?post=50"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/multimedia.cx\/eggs\/wp-json\/wp\/v2\/tags?post=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}