CINXE.COM

Deflate - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Deflate - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"eaf59b3e-daec-443d-9af6-169e0c9e62de","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Deflate","wgTitle":"Deflate","wgCurRevisionId":1278387236,"wgRevisionId":1278387236,"wgArticleId":75859,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["CS1 maint: bot: original URL status unknown","Articles with short description","Short description matches Wikidata","Webarchive template wayback links","All articles with dead external links","Articles with dead external links from November 2019","Articles with permanently dead external links","Lossless compression algorithms","Data compression"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Deflate","wgRelevantArticleId":75859,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgRedirectedFrom":"DEFLATE","wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":30000,"wgInternalRedirectTargetUrl":"/wiki/Deflate","wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q2712","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false}; RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.math.styles":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready"};RLPAGEMODULES=["mediawiki.action.view.redirect","ext.cite.ux-enhancements","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=ext.cite.styles%7Cext.math.styles%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&amp;only=styles&amp;skin=vector-2022"> <script async="" src="/w/load.php?lang=en&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&amp;modules=site.styles&amp;only=styles&amp;skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.20"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Deflate - Wikipedia"> <meta property="og:type" content="website"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Deflate"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Deflate&amp;action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Deflate"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&amp;feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-Deflate rootpage-Deflate skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page&#039;s font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&amp;returnto=Deflate" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&amp;returnto=Deflate" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&amp;wmf_medium=sidebar&amp;wmf_campaign=en.wikipedia.org&amp;uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&amp;returnto=Deflate" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&amp;returnto=Deflate" title="You&#039;re encouraged to log in; however, it&#039;s not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Stream_format" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Stream_format"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Stream format</span> </div> </a> <button aria-controls="toc-Stream_format-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Stream format subsection</span> </button> <ul id="toc-Stream_format-sublist" class="vector-toc-list"> <li id="toc-Duplicate_string_elimination" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Duplicate_string_elimination"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Duplicate string elimination</span> </div> </a> <ul id="toc-Duplicate_string_elimination-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Bit_reduction" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Bit_reduction"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Bit reduction</span> </div> </a> <ul id="toc-Bit_reduction-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Encoder/compressor" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Encoder/compressor"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Encoder/compressor</span> </div> </a> <button aria-controls="toc-Encoder/compressor-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Encoder/compressor subsection</span> </button> <ul id="toc-Encoder/compressor-sublist" class="vector-toc-list"> <li id="toc-Deflate64/Enhanced_Deflate" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Deflate64/Enhanced_Deflate"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Deflate64/Enhanced Deflate</span> </div> </a> <ul id="toc-Deflate64/Enhanced_Deflate-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Using_Deflate_in_new_software" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Using_Deflate_in_new_software"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Using Deflate in new software</span> </div> </a> <button aria-controls="toc-Using_Deflate_in_new_software-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Using Deflate in new software subsection</span> </button> <ul id="toc-Using_Deflate_in_new_software-sublist" class="vector-toc-list"> <li id="toc-Encoder_implementations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Encoder_implementations"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.1</span> <span>Encoder implementations</span> </div> </a> <ul id="toc-Encoder_implementations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Hardware_encoders" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Hardware_encoders"> <div class="vector-toc-text"> <span class="vector-toc-numb">3.2</span> <span>Hardware encoders</span> </div> </a> <ul id="toc-Hardware_encoders-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Decoder/decompressor" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Decoder/decompressor"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Decoder/decompressor</span> </div> </a> <button aria-controls="toc-Decoder/decompressor-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Decoder/decompressor subsection</span> </button> <ul id="toc-Decoder/decompressor-sublist" class="vector-toc-list"> <li id="toc-Inflate-only_implementations" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Inflate-only_implementations"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Inflate-only implementations</span> </div> </a> <ul id="toc-Inflate-only_implementations-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Hardware_decoders" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Hardware_decoders"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>Hardware decoders</span> </div> </a> <ul id="toc-Hardware_decoders-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Deflate</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 18 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-18" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">18 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/Algorisme_de_deflaci%C3%B3" title="Algorisme de deflació – Catalan" lang="ca" hreflang="ca" data-title="Algorisme de deflació" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/DEFLATE" title="DEFLATE – Czech" lang="cs" hreflang="cs" data-title="DEFLATE" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Deflate" title="Deflate – German" lang="de" hreflang="de" data-title="Deflate" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Deflaci%C3%B3n_(algoritmo)" title="Deflación (algoritmo) – Spanish" lang="es" hreflang="es" data-title="Deflación (algoritmo)" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Deflate" title="Deflate – French" lang="fr" hreflang="fr" data-title="Deflate" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/Deflaci%C3%B3n_(algoritmo)" title="Deflación (algoritmo) – Galician" lang="gl" hreflang="gl" data-title="Deflación (algoritmo)" data-language-autonym="Galego" data-language-local-name="Galician" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/DEFLATE" title="DEFLATE – Korean" lang="ko" hreflang="ko" data-title="DEFLATE" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Deflate" title="Deflate – Italian" lang="it" hreflang="it" data-title="Deflate" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Deflate" title="Deflate – Dutch" lang="nl" hreflang="nl" data-title="Deflate" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/Deflate" title="Deflate – Japanese" lang="ja" hreflang="ja" data-title="Deflate" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Deflate" title="Deflate – Polish" lang="pl" hreflang="pl" data-title="Deflate" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/DEFLATE" title="DEFLATE – Portuguese" lang="pt" hreflang="pt" data-title="DEFLATE" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/Deflate" title="Deflate – Russian" lang="ru" hreflang="ru" data-title="Deflate" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/DEFLATE" title="DEFLATE – Slovenian" lang="sl" hreflang="sl" data-title="DEFLATE" data-language-autonym="Slovenščina" data-language-local-name="Slovenian" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Deflate" title="Deflate – Finnish" lang="fi" hreflang="fi" data-title="Deflate" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/DEFLATE" title="DEFLATE – Swedish" lang="sv" hreflang="sv" data-title="DEFLATE" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/Deflate" title="Deflate – Ukrainian" lang="uk" hreflang="uk" data-title="Deflate" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Deflate" title="Deflate – Chinese" lang="zh" hreflang="zh" data-title="Deflate" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q2712#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Deflate" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:Deflate" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Deflate"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Deflate&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Deflate&amp;action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Deflate"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Deflate&amp;action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Deflate&amp;action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Deflate" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Deflate" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Deflate&amp;oldid=1278387236" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Deflate&amp;action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&amp;page=Deflate&amp;id=1278387236&amp;wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDeflate"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&amp;url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FDeflate"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&amp;page=Deflate&amp;action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=Deflate&amp;printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q2712" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"><span class="mw-redirectedfrom">(Redirected from <a href="/w/index.php?title=DEFLATE&amp;redirect=no" class="mw-redirect" title="DEFLATE">DEFLATE</a>)</span></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Data compression algorithm</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">This article is about the data compression algorithm. For other uses, see <a href="/wiki/Deflation_(disambiguation)" class="mw-disambig" title="Deflation (disambiguation)">Deflation (disambiguation)</a>.</div> <p>In <a href="/wiki/Computing" title="Computing">computing</a>, <b>Deflate</b> (stylized as <b>DEFLATE</b>, and also called <b>Flate</b><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">&#91;</span>1<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">&#91;</span>2<span class="cite-bracket">&#93;</span></a></sup>) is a <a href="/wiki/Lossless_compression" title="Lossless compression">lossless</a> <a href="/wiki/Data_compression" title="Data compression">data compression</a> <a href="/wiki/File_format" title="File format">file format</a> that uses a combination of <a href="/wiki/LZ77_and_LZ78" title="LZ77 and LZ78">LZ77</a> and <a href="/wiki/Huffman_coding" title="Huffman coding">Huffman coding</a>. It was designed by <a href="/wiki/Phil_Katz" title="Phil Katz">Phil Katz</a>, for version 2 of his <a href="/wiki/PKZIP" title="PKZIP">PKZIP</a> archiving tool. Deflate was later specified in <a href="/wiki/Request_for_Comments" title="Request for Comments">RFC</a> 1951 (1996).<sup id="cite_ref-IETF_3-0" class="reference"><a href="#cite_note-IETF-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> </p><p>Katz also designed the original algorithm used to construct Deflate streams. This algorithm was <a href="/wiki/Software_patent" title="Software patent">patented</a> as <span><a rel="nofollow" class="external text" href="https://patents.google.com/patent/US5051745">U.S. patent 5,051,745</a></span>, and assigned to <a href="/wiki/PKWARE,_Inc." class="mw-redirect" title="PKWARE, Inc.">PKWARE, Inc.</a><sup id="cite_ref-patent_4-0" class="reference"><a href="#cite_note-patent-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">&#91;</span>5<span class="cite-bracket">&#93;</span></a></sup> As stated in the RFC document, an algorithm producing Deflate files was widely thought to be implementable in a manner not covered by patents.<sup id="cite_ref-IETF_3-1" class="reference"><a href="#cite_note-IETF-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> This led to its widespread use – for example, in <a href="/wiki/Gzip" title="Gzip">gzip</a> compressed files and <a href="/wiki/Portable_Network_Graphics" class="mw-redirect" title="Portable Network Graphics">PNG</a> image files, in addition to the <a href="/wiki/ZIP_(file_format)" title="ZIP (file format)">ZIP</a> file format for which Katz originally designed it. The patent has since expired. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Stream_format">Stream format</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=1" title="Edit section: Stream format"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>A Deflate stream consists of a series of blocks. Each block is preceded by a 3-<a href="/wiki/Bit" title="Bit">bit</a> header: </p> <ul><li>First bit: Last-block-in-stream marker: <ul><li><code>1</code>: This is the last block in the stream.</li> <li><code>0</code>: There are more blocks to process after this one.</li></ul></li> <li>Second and third bits: Encoding method used for this block type: <ul><li><code>00</code>: A stored (a.k.a. raw or literal) section, between 0 and 65,535 bytes in length</li> <li><code>01</code>: A <i>static Huffman</i> compressed block, using a pre-agreed Huffman tree defined in the RFC</li> <li><code>10</code>: A <i>dynamic Huffman</i> compressed block, complete with the Huffman table supplied</li> <li><code>11</code>: Reserved—don't use.</li></ul></li></ul> <p>The <i>stored</i> block option adds minimal overhead and is used for data that is incompressible. </p><p>Most compressible data will end up being encoded using method <code>10</code>, the <i>dynamic Huffman</i> encoding, which produces an optimized Huffman tree customized for each block of data individually. Instructions to generate the necessary Huffman tree immediately follow the block header. The static Huffman option is used for short messages, where the fixed saving gained by omitting the tree outweighs the percentage compression loss due to using a non-optimal (thus, not technically Huffman) code. </p><p>Compression is achieved through two steps: </p> <ul><li>The matching and replacement of duplicate strings with pointers.</li> <li>Replacing symbols with new, weighted symbols based on the frequency of use.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Duplicate_string_elimination">Duplicate string elimination</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=2" title="Edit section: Duplicate string elimination"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951" /><div role="note" class="hatnote navigation-not-searchable">Main articles: <a href="/wiki/LZ77_and_LZ78" title="LZ77 and LZ78">LZ77 and LZ78</a> and <a href="/wiki/LZSS" class="mw-redirect" title="LZSS">LZSS</a></div> <p>Within compressed blocks, if a duplicate series of bytes is spotted (a repeated string), then a back-<a href="/wiki/Reference_(computer_science)" title="Reference (computer science)">reference</a> is inserted, linking to the previous location of that identical string instead. An encoded match to an earlier string consists of an 8-bit length (3–258 bytes) and a 15-bit distance (1–32,768 bytes) to the beginning of the duplicate. Relative back-references can be made across any number of blocks, as long as the distance appears within the last 32&#160;<a href="/wiki/Kibibyte" class="mw-redirect" title="Kibibyte">KiB</a> of uncompressed data decoded (termed the <i>sliding window</i>). </p><p>If the distance is less than the length, the duplicate overlaps itself, indicating repetition. For example, a run of 10 identical bytes can be encoded as one byte, followed by a duplicate of length 9, beginning with the previous byte. </p><p>Searching the preceding text for duplicate substrings is the most computationally expensive part of the DEFLATE algorithm, and the operation which compression level settings affect. </p> <div class="mw-heading mw-heading3"><h3 id="Bit_reduction">Bit reduction</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=3" title="Edit section: Bit reduction"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951" /><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="/wiki/Huffman_coding" title="Huffman coding">Huffman coding</a></div> <p>The second compression stage consists of replacing commonly used symbols with shorter representations and less commonly used symbols with longer representations. The method used is <a href="/wiki/Huffman_coding" title="Huffman coding">Huffman coding</a> which creates an unprefixed tree of non-overlapping intervals, where the length of each sequence is inversely proportional to the logarithm of the probability of that symbol needing to be encoded. The more likely it is that a symbol has to be encoded, the shorter its bit-sequence will be. </p><p>A tree is created, containing space for 288 symbols: </p> <ul><li>0–255: represent the literal bytes/symbols 0–255.</li> <li>256: end of block – stop processing if last block, otherwise start processing next block.</li> <li>257–285: combined with extra-bits, a match length of 3–258 bytes.</li> <li>286, 287: not used, reserved and illegal but still part of the tree.</li></ul> <p>A match length code will always be followed by a distance code. Based on the distance code read, further "extra" bits may be read in order to produce the final distance. The distance tree contains space for 32 symbols: </p> <ul><li>0–3: distances 1–4</li> <li>4–5: distances 5–8, 1 extra bit</li> <li>6–7: distances 9–16, 2 extra bits</li> <li>8–9: distances 17–32, 3 extra bits</li> <li>...</li> <li>26–27: distances 8,193–16,384, 12 extra bits</li> <li>28–29: distances 16,385–32,768, 13 extra bits</li> <li>30–31: not used, reserved and illegal but still part of the tree.</li></ul> <p>Note that for the match distance symbols 2–29, the number of extra bits can be calculated as <span class="mwe-math-element"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \left\lfloor {\frac {n}{2}}\right\rfloor -1}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mrow> <mo>&#x230a;</mo> <mrow class="MJX-TeXAtom-ORD"> <mfrac> <mi>n</mi> <mn>2</mn> </mfrac> </mrow> <mo>&#x230b;</mo> </mrow> <mo>&#x2212;<!-- − --></mo> <mn>1</mn> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle \left\lfloor {\frac {n}{2}}\right\rfloor -1}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/d16f6f0cd09fdca8bb31168612ad1bda810386af" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:8.689ex; height:4.843ex;" alt="{\displaystyle \left\lfloor {\frac {n}{2}}\right\rfloor -1}" /></span>. </p><p>The two codes (the 288-symbol length/literal tree and the 32-symbol distance tree) are themselves encoded as <a href="/wiki/Canonical_Huffman_code" title="Canonical Huffman code">canonical Huffman codes</a> by giving the bit length of the code for each symbol. The bit lengths are themselves <a href="/wiki/Run-length_encoding" title="Run-length encoding">run-length encoded</a> to produce as compact a representation as possible. As an alternative to including the tree representation, the "static tree" option provides standard fixed Huffman trees. The compressed size using the static trees can be computed using the same statistics (the number of times each symbol appears) as are used to generate the dynamic trees, so it is easy for a compressor to choose whichever is smaller. </p> <div class="mw-heading mw-heading2"><h2 id="Encoder/compressor"><span id="Encoder.2Fcompressor"></span>Encoder/compressor</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=4" title="Edit section: Encoder/compressor"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>During the compression stage, it is the <i>encoder</i> that chooses the amount of time spent looking for matching strings. The zlib/gzip <a href="/wiki/Reference_implementation" title="Reference implementation">reference implementation</a> allows the user to select from a sliding scale of likely resulting compression-level vs. speed of encoding. Options range from <code>0</code> (do not attempt compression, just store uncompressed) to <code>9</code> representing the maximum capability of the reference implementation in zlib/gzip. </p><p>Other Deflate encoders have been produced, all of which will also produce a compatible <a href="/wiki/Bitstream" title="Bitstream">bitstream</a> capable of being decompressed by any existing Deflate decoder. Differing implementations will likely produce variations on the final encoded bit-stream produced. The focus with non-zlib versions of an encoder has normally been to produce a more efficiently compressed and smaller encoded stream. </p> <div class="mw-heading mw-heading3"><h3 id="Deflate64/Enhanced_Deflate"><span id="Deflate64.2FEnhanced_Deflate"></span>Deflate64/Enhanced Deflate</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=5" title="Edit section: Deflate64/Enhanced Deflate"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Deflate64, specified by PKWARE, is a proprietary variant of Deflate. It's fundamentally the same algorithm. What has changed is the increase in dictionary size from 32&#160;KB to 64&#160;KB, an extension of the distance codes to 16&#160;bits so that they may address a range of 64&#160;KB, and the length code, which is extended to 16&#160;bits so that it may define lengths of three to 65,538 bytes.<sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">&#91;</span>6<span class="cite-bracket">&#93;</span></a></sup> This leads to Deflate64 having a longer compression time, and potentially a slightly higher compression ratio, than Deflate.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">&#91;</span>7<span class="cite-bracket">&#93;</span></a></sup> Several free and/or open source projects support Deflate64, such as <a href="/wiki/7-Zip" title="7-Zip">7-Zip</a>,<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">&#91;</span>8<span class="cite-bracket">&#93;</span></a></sup> while others, such as <a href="/wiki/Zlib" title="Zlib">zlib</a>, do not, as a result of the proprietary nature of the procedure<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> and the very modest performance increase over Deflate.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">&#91;</span>10<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Using_Deflate_in_new_software">Using Deflate in new software</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=6" title="Edit section: Using Deflate in new software"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Implementations of Deflate are freely available in many languages. Apps written in <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a> typically use the <a href="/wiki/Zlib" title="Zlib">zlib</a> library (under the permissive <a href="/wiki/Zlib_License" title="Zlib License">zlib License</a>). Apps in <a href="/wiki/Borland_Pascal" class="mw-redirect" title="Borland Pascal">Borland Pascal</a> (and compatible languages) can use paszlib. Apps in <a href="/wiki/C%2B%2B" title="C++">C++</a> can take advantage of the improved Deflate library in <a href="/wiki/7-Zip" title="7-Zip">7-Zip</a>. Both <a href="/wiki/Java_(software_platform)" title="Java (software platform)">Java</a> and <a href="/wiki/.NET_Framework" title=".NET Framework">.NET Framework</a> offer out-of-the-box support for Deflate in their libraries (respectively, <code>java.util.zip</code> and <a rel="nofollow" class="external text" href="https://docs.microsoft.com/en-us/dotnet/api/system.io.compression.deflatestream">System.IO.Compression</a>). Apps in <a href="/wiki/Ada_(programming_language)" title="Ada (programming language)">Ada</a> can use <a rel="nofollow" class="external text" href="http://unzip-ada.sourceforge.net/">Zip-Ada</a> (pure) or <a rel="nofollow" class="external text" href="http://zlib-ada.sourceforge.net/">ZLib-Ada</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Encoder_implementations">Encoder implementations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=7" title="Edit section: Encoder implementations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/PKZIP" title="PKZIP">PKZIP</a>: the first implementation, originally done by <a href="/wiki/Phil_Katz" title="Phil Katz">Phil Katz</a> as part of PKZip</li> <li><a href="/wiki/Zlib" title="Zlib">zlib</a>: standard reference implementation adopted in many apps because of its open-source, permissive license. See <a href="/wiki/Zlib#Forks" title="Zlib">Zlib §&#160;Forks</a> for higher-performance forks.</li> <li><a href="/wiki/Crypto%2B%2B" title="Crypto++">Crypto++</a>: contains a public-domain implementation in <a href="/wiki/C%2B%2B" title="C++">C++</a> aimed at reducing potential <a href="/wiki/Vulnerability_(computing)" class="mw-redirect" title="Vulnerability (computing)">security vulnerabilities</a>. The author, Wei Dai states "<cite>This code is less clever, but hopefully more understandable and maintainable [than zlib]</cite>".</li> <li><a href="/wiki/7-Zip" title="7-Zip">7-Zip</a>: written by Igor Pavlov in <a href="/wiki/C%2B%2B" title="C++">C++</a>, this version is freely licensed and achieves higher compression than zlib at the expense of CPU usage. Has an option to use the DEFLATE64 storage format.</li> <li><a href="/wiki/PuTTY" title="PuTTY">PuTTY</a> 'sshzlib.c': a standalone implementation under the <a href="/wiki/MIT_License" title="MIT License">MIT License</a> by Simon Tatham, it has full decoding capability, but only supports static tree only creation</li> <li>libflate:<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> part of <a href="/wiki/Plan_9_from_Bell_Labs" title="Plan 9 from Bell Labs">Plan 9 from Bell Labs</a>, implements deflate compression</li> <li><a href="/wiki/Red_Gate_Software#HyperBac" class="mw-redirect" title="Red Gate Software">Hyperbac</a>: uses its own proprietary compression library (in C++ and Assembly) with an option to implement the DEFLATE64 storage format</li> <li><a href="/wiki/Zopfli" title="Zopfli">Zopfli</a>: C implementation under the <a href="/wiki/Apache_License" title="Apache License">Apache License</a> by <a href="/wiki/Google" title="Google">Google</a>; achieves higher compression at the expense of CPU usage. ZopfliPNG is a variation of Zopfli for use with <a href="/wiki/Portable_Network_Graphics" class="mw-redirect" title="Portable Network Graphics">PNG</a> files.</li> <li>igzip: an encoder written in the <a href="/wiki/X86_assembly_language" title="X86 assembly language">x86 assembly language</a>, released by <a href="/wiki/Intel" title="Intel">Intel</a> under the <a href="/wiki/MIT_License" title="MIT License">MIT License</a>. 3x faster than zlib -1. Useful for compressing genomic data.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">&#91;</span>12<span class="cite-bracket">&#93;</span></a></sup></li> <li>libdeflate:<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">&#91;</span>13<span class="cite-bracket">&#93;</span></a></sup> a library for fast, whole-buffer DEFLATE-based compression and decompression. Libdeflate is heavily optimized, especially on x86 processors.</li></ul> <p>AdvanceCOMP uses the higher compression ratio versions of Deflate in 7-Zip, libdeflate, and Zopfli to enable recompression of <a href="/wiki/Gzip" title="Gzip">gzip</a>, <a href="/wiki/Portable_Network_Graphics" class="mw-redirect" title="Portable Network Graphics">PNG</a>, <a href="/wiki/Multiple-image_Network_Graphics" title="Multiple-image Network Graphics">MNG</a> and <a href="/wiki/ZIP_file_format" class="mw-redirect" title="ZIP file format">ZIP</a> files with the possibility of smaller file sizes than zlib is able to achieve at maximum settings.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">&#91;</span>14<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Hardware_encoders">Hardware encoders</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=8" title="Edit section: Hardware encoders"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>AHA361-PCIX/AHA362-PCIX from <a rel="nofollow" class="external text" href="http://www.aha.com/">Comtech AHA</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20061208005415/http://www.aha.com/">Archived</a> 2006-12-08 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>. Comtech produced a <a href="/wiki/PCI-X" title="PCI-X">PCI-X</a> card (PCI-ID: <code>193f:0001</code>) capable of compressing streams using Deflate at a rate of up to 3.0&#160;Gbit/s (375&#160;MB/s) for incoming uncompressed data. Accompanying the <a href="/wiki/Linux_(kernel)" class="mw-redirect" title="Linux (kernel)">Linux kernel</a> <a href="/wiki/Device_driver" title="Device driver">driver</a> for the AHA361-PCIX is an "<code>ahagzip</code>" utility and customised "<code>mod_deflate_aha</code>" capable of using the hardware compression from <a href="/wiki/Apache_HTTP_Server" title="Apache HTTP Server">Apache</a>. The hardware is based on a <a href="/wiki/Xilinx" title="Xilinx">Xilinx</a> <a href="/wiki/Virtex_(FPGA)" title="Virtex (FPGA)">Virtex</a> <a href="/wiki/FPGA" class="mw-redirect" title="FPGA">FPGA</a> and four custom AHA3601 <a href="/wiki/Application-specific_integrated_circuit" title="Application-specific integrated circuit">ASICs</a>. The AHA361/AHA362 boards are limited to only handling static Huffman blocks and require software to be modified to add support — the cards were not able to support the full Deflate specification, meaning they could only reliably decode their own output (a stream that did not contain any dynamic Huffman type 2 blocks).</li> <li><a rel="nofollow" class="external text" href="http://www.indranetworks.com/SC300.html">StorCompress 300</a>/<a rel="nofollow" class="external text" href="http://www.indranetworks.com/SCMX3.html">MX3</a> from <a rel="nofollow" class="external text" href="http://www.indranetworks.com/">Indra Networks</a>. This is a range of <a href="/wiki/PCI_Local_Bus" class="mw-redirect" title="PCI Local Bus">PCI</a> (PCI-ID: <code>17b4:0011</code>) or PCI-X cards featuring between one and six compression engines with claimed processing speeds of up to 3.6&#160;Gbit/s (450&#160;MB/s). A version of the cards are available with the separate brand <i>WebEnhance</i> specifically designed for web-serving use rather than <a href="/wiki/Storage_area_network" title="Storage area network">SAN</a> or backup use; a <a href="/wiki/PCIe" class="mw-redirect" title="PCIe">PCIe</a> revision, the <a rel="nofollow" class="external text" href="http://www.indranetworks.com/SCMX4E.html">MX4E</a> is also produced.</li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20080912222617/http://www.aha.com/show_prod.php?id=36">AHA363-PCIe</a>/<a rel="nofollow" class="external text" href="https://web.archive.org/web/20090212202014/http://www.aha.com/show_prod.php?id=37">AHA364-PCIe</a>/<a rel="nofollow" class="external text" href="https://web.archive.org/web/20090820184941/http://www.aha.com/show_prod.php?id=38">AHA367-PCIe</a>. In 2008, Comtech started producing two PCIe cards (<code>PCI-ID: 193f:0363</code>/<code>193f:0364</code>) with a new hardware AHA3610 encoder chip. The new chip was designed to be capable of a sustained 2.5&#160;Gbit/s. Using two of these chips, the AHA363-PCIe board can process Deflate at a rate of up to 5.0&#160;Gbit/s (625&#160;MB/s) using the two channels (two compression and two decompression). The AHA364-PCIe variant is an encode-only version of the card designed for out-going <a href="/wiki/Load_balancer" class="mw-redirect" title="Load balancer">load balancers</a> and instead has multiple register sets to allow 32 independent <i>virtual</i> compression channels feeding two physical compression engines. Linux, <a href="/wiki/Microsoft_Windows" title="Microsoft Windows">Microsoft Windows</a>, and <a href="/wiki/OpenSolaris" title="OpenSolaris">OpenSolaris</a> kernel device drivers are available for both of the new cards, along with a modified zlib system library so that dynamically linked applications can automatically use the hardware support without internal modification. The AHA367-PCIe board (<code>PCI-ID: 193f:0367</code>) is similar to the AHA363-PCIe but uses four AHA3610 chips for a sustained compression rate of 10&#160;Gbit/s (1250&#160;MB/s). Unlike the AHA362-PCIX, the decompression engines on the AHA363-PCIe and AHA367-PCIe boards are fully deflate compliant.</li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20101203144755/http://www.cavium.com/processor_security_nitrox-III.html">Nitrox</a> and <a rel="nofollow" class="external text" href="https://github.com/zerix/Cavium-SDK-2.0/tree/master/examples/zip">Octeon</a><sup class="noprint Inline-Template"><span style="white-space: nowrap;">&#91;<i><a href="/wiki/Wikipedia:Link_rot" title="Wikipedia:Link rot"><span title="&#160;Dead link tagged November 2019">permanent dead link</span></a></i><span style="visibility:hidden; color:transparent; padding-left:2px">&#8205;</span>&#93;</span></sup> processors from <a rel="nofollow" class="external text" href="http://cavium.com">Cavium, Inc.</a> contain high-speed hardware deflate and inflate engines compatible with both ZLIB and GZIP with some devices able to handle multiple simultaneous data streams.</li> <li><a rel="nofollow" class="external text" href="https://github.com/tomtor/HDL-deflate">HDL-Deflate</a> GPL FPGA implementation.</li> <li><a rel="nofollow" class="external text" href="https://www.cast-inc.com/compression/gzip-lossless-data-compression/zipaccel-c/">ZipAccel-C</a> from <a rel="nofollow" class="external text" href="https://www.cast-inc.com/">CAST Inc</a>. This is a Silicon IP core supporting Deflate, <a href="/wiki/Zlib" title="Zlib">Zlib</a> and <a href="/wiki/Gzip" title="Gzip">Gzip</a> compression. ZipAccel-C can be implemented in <a href="/wiki/Application-specific_integrated_circuit" title="Application-specific integrated circuit">ASIC</a> or <a href="/wiki/Field-programmable_gate_array" title="Field-programmable gate array">FPGAs</a>, supports both Dynamic and Static Huffman tables, and can provide throughputs in excess of 100&#160;Gbit/s. The company offers compression/decompression accelerator board reference designs for Intel FPGA (<a rel="nofollow" class="external text" href="https://www.cast-inc.com/compression/gzip-lossless-data-compression/gzip-rd-int/">ZipAccel-RD-INT</a>) and Xilinx FPGAs (<a rel="nofollow" class="external text" href="https://www.cast-inc.com/compression/gzip-lossless-data-compression/gzip-rd-xil/">ZipAccel-RD-XIL</a>).</li> <li><a href="/wiki/Intel_Xeon_chipsets" class="mw-redirect" title="Intel Xeon chipsets">Intel Communications Chipset 89xx Series</a> (Cave Creek) for the <a href="/wiki/Intel" title="Intel">Intel</a> <a href="/wiki/Xeon" title="Xeon">Xeon</a> E5-2600 and E5-2400 Processor Series (Sandy Bridge-EP/EN) supports hardware compression and decompression using QuickAssist Technology. Depending on the chipset, compression and decompression rates of 5&#160;Gbit/s, 10&#160;Gbit/s, or 20&#160;Gbit/s are available.<sup id="cite_ref-quickassist_15-0" class="reference"><a href="#cite_note-quickassist-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup></li> <li><a href="/wiki/IBM_z15_(microprocessor)" class="mw-redirect" title="IBM z15 (microprocessor)">IBM z15</a> CPUs incorporate an improved version of the Nest Accelerator Unit (NXU) hardware acceleration from the zEDC Express I/O expansion cards used in z14 systems for hardware Deflate compression and decompression as specified by RFC1951.<sup id="cite_ref-z15_announce_16-0" class="reference"><a href="#cite_note-z15_announce-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-z15_techmanual_17-0" class="reference"><a href="#cite_note-z15_techmanual-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup></li> <li>Beginning with the <a href="/wiki/POWER9" title="POWER9">POWER9</a> architecture, IBM added hardware support for compressing and decompressing Deflate (as specified by RFC 1951) to the formerly crypto-centric Nest accelerator (NX) core introduced with <a href="/wiki/POWER7" title="POWER7">POWER7+</a>. This support is available to programs running with <a href="/wiki/IBM_AIX" title="IBM AIX">AIX</a> 7.2 Technology Level 4 Expansion Pack or AIX 7.2 Technology Level 5 Service Pack 2 through the zlibNX library.<sup id="cite_ref-zlibnx_18-0" class="reference"><a href="#cite_note-zlibnx-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-power7_accel_19-0" class="reference"><a href="#cite_note-power7_accel-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading2"><h2 id="Decoder/decompressor"><span id="Decoder.2Fdecompressor"></span>Decoder/decompressor</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=9" title="Edit section: Decoder/decompressor"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Inflate is the decoding process that takes a Deflate bitstream for decompression and correctly produces the original full-size data or file. </p> <div class="mw-heading mw-heading3"><h3 id="Inflate-only_implementations">Inflate-only implementations</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=10" title="Edit section: Inflate-only implementations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>The normal intent with an alternative Inflate implementation is highly optimized decoding speed, or extremely predictable RAM usage for micro-controller embedded systems. </p> <ul><li><a href="/wiki/Assembly_language" title="Assembly language">Assembly</a> <ul><li><a rel="nofollow" class="external text" href="https://github.com/pfusik/zlib6502">6502 inflate</a>, written by Piotr Fusik in <a href="/wiki/MOS_Technology_6502" title="MOS Technology 6502">6502</a> assembly language.</li> <li><a rel="nofollow" class="external text" href="http://sourceforge.net/projects/samflate/">SAMflate</a>, written by Andrew Collier in <a href="/wiki/Z80" class="mw-redirect" title="Z80">Z80</a> assembly language with optional memory paging support for the <a href="/wiki/SAM_Coup%C3%A9" title="SAM Coupé">SAM Coupé</a>, and made available under the <a href="/wiki/BSD_license" class="mw-redirect" title="BSD license">BSD</a>/<a href="/wiki/GNU_General_Public_License" title="GNU General Public License">GPL</a>/<a href="/wiki/GNU_Lesser_General_Public_License" title="GNU Lesser General Public License">LGPL</a>/<a href="/wiki/Debian_Free_Software_Guidelines" class="mw-redirect" title="Debian Free Software Guidelines">DFSG</a> licenses.</li> <li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160304053236/https://bitbucket.org/grauw/gunzip">gunzip</a>, written by Laurens Holst in <a href="/wiki/Z80" class="mw-redirect" title="Z80">Z80</a> assembly language for the <a href="/wiki/MSX" title="MSX">MSX</a>, licensed under <a href="/wiki/BSD_license" class="mw-redirect" title="BSD license">BSD</a>.</li> <li><a rel="nofollow" class="external text" href="https://github.com/keirf/Amiga-Stuff">inflate.asm</a>, a fast and efficient implementation in <a href="/wiki/M68000" class="mw-redirect" title="M68000">M68000</a> machine language, written by Keir Fraser and released into the <a href="/wiki/Public_Domain" class="mw-redirect" title="Public Domain">Public Domain</a>.</li></ul></li></ul> <ul><li><a href="/wiki/C_(programming_language)" title="C (programming language)">C</a>/<a href="/wiki/C%2B%2B" title="C++">C++</a> <ul><li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20070927122958/http://www.mikekohn.net/file_formats/kunzip.php">kunzip</a> by Michael Kohn and unrelated to "KZIP". Comes with <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a> source-code under the GNU <a href="/wiki/LGPL" class="mw-redirect" title="LGPL">LGPL</a> license. Used in the <a href="/wiki/GIMP" title="GIMP">GIMP</a> installer.</li> <li>puff.c (<a href="/wiki/Zlib" title="Zlib">zlib</a>), a small, unencumbered, single-file reference implementation included in the /contrib/puff directory of the zlib distribution.</li> <li><a rel="nofollow" class="external text" href="http://www.ibsensoftware.com/download.html">tinf</a> written by Jørgen Ibsen in ANSI C and comes with zlib license. Adds about 2k code.</li> <li><a rel="nofollow" class="external text" href="https://code.google.com/p/miniz/source/browse/trunk/tinfl.c">tinfl.c</a> (<a rel="nofollow" class="external text" href="https://code.google.com/p/miniz/">miniz</a>), Public domain Inflate implementation contained entirely in a single C function.</li></ul></li> <li><code>PCDEZIP</code>, Bob Flanders and Michael Holmes, published in PC Magazine 1994-01-11.</li> <li><a rel="nofollow" class="external text" href="http://opensource.franz.com/deflate/">inflate.cl</a> by John Foderaro. Self-standing <a href="/wiki/Common_Lisp" title="Common Lisp">Common Lisp</a> decoder distributed with a GNU <a href="/wiki/LGPL" class="mw-redirect" title="LGPL">LGPL</a> license.</li> <li><a rel="nofollow" class="external text" href="http://seed7.sourceforge.net/libraries/inflate.htm">inflate.s7i</a>/<a rel="nofollow" class="external text" href="http://seed7.sourceforge.net/libraries/gzip.htm">gzip.s7i</a>, a pure-<a href="/wiki/Seed7" title="Seed7">Seed7</a> implementation of Deflate and gzip decompression, by Thomas Mertes. Made available under the GNU <a href="/wiki/GNU_Lesser_General_Public_License" title="GNU Lesser General Public License">LGPL</a> license.</li> <li><a rel="nofollow" class="external text" href="http://www.paul.sladen.org/projects/pyflate/">pyflate</a>, a pure-<a href="/wiki/Python_(programming_language)" title="Python (programming language)">Python</a> stand-alone Deflate (<a href="/wiki/Gzip" title="Gzip">gzip</a>) and <a href="/wiki/Bzip2" title="Bzip2">bzip2</a> decoder by Paul Sladen. Written for research/prototyping and made available under the <a href="/wiki/BSD_license" class="mw-redirect" title="BSD license">BSD</a>/<a href="/wiki/GNU_General_Public_License" title="GNU General Public License">GPL</a>/<a href="/wiki/GNU_Lesser_General_Public_License" title="GNU Lesser General Public License">LGPL</a>/<a href="/wiki/Debian_Free_Software_Guidelines" class="mw-redirect" title="Debian Free Software Guidelines">DFSG</a> licenses.</li> <li><a rel="nofollow" class="external text" href="http://lua-users.org/wiki/ModuleCompressDeflateLua">deflatelua</a>, a pure-<a href="/wiki/Lua_(programming_language)" title="Lua (programming language)">Lua</a> implementation of Deflate and <a href="/wiki/Gzip" title="Gzip">gzip</a>/zlib decompression, by David Manura.</li> <li><a rel="nofollow" class="external text" href="https://github.com/chrisdickinson/inflate">inflate</a> a pure-<a href="/wiki/Javascript_(programming_language)" class="mw-redirect" title="Javascript (programming language)">Javascript</a> implementation of Inflate by Chris Dickinson</li> <li><a rel="nofollow" class="external text" href="https://github.com/nodeca/pako">pako</a>: JavaScript speed-optimized port of zlib. Contains separate build with inflate only.</li></ul> <div class="mw-heading mw-heading3"><h3 id="Hardware_decoders">Hardware decoders</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=11" title="Edit section: Hardware decoders"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20171010000403/http://www.bitsim.com/en/our-design-model/#Blocks">Serial Inflate GPU</a> from BitSim. Hardware implementation of Inflate. Part of BitSim's <i>BADGE</i> (Bitsim Accelerated Display Graphics Engine) controller offering for embedded systems.</li> <li><a rel="nofollow" class="external text" href="https://github.com/tomtor/HDL-deflate">HDL-Deflate</a> GPL FPGA implementation.</li> <li><a rel="nofollow" class="external text" href="https://www.cast-inc.com/compression/gzip-lossless-data-compression/zipaccel-d/">ZipAccel-D</a> from <a rel="nofollow" class="external text" href="https://www.cast-inc.com/">CAST Inc</a>. This is a Silicon IP core supporting decompression of Deflate, <a href="/wiki/Zlib" title="Zlib">Zlib</a> and <a href="/wiki/Gzip" title="Gzip">Gzip</a> files. The ZipAccel-D IP core that can be implemented in <a href="/wiki/Application-specific_integrated_circuit" title="Application-specific integrated circuit">ASIC</a> or <a href="/wiki/Field-programmable_gate_array" title="Field-programmable gate array">FPGAs.</a> The company offers compression/decompression accelerator board reference designs for Intel FPGA (<a rel="nofollow" class="external text" href="https://www.cast-inc.com/compression/gzip-lossless-data-compression/gzip-rd-int/">ZipAccel-RD-INT</a>) and Xilinx FPGAs (<a rel="nofollow" class="external text" href="https://www.cast-inc.com/compression/gzip-lossless-data-compression/gzip-rd-xil/">ZipAccel-RD-XIL</a>).</li> <li><a href="/wiki/IBM_z15_(microprocessor)" class="mw-redirect" title="IBM z15 (microprocessor)">IBM z15</a> CPUs incorporate an improved version of the Nest Accelerator Unit (NXU) hardware acceleration from the zEDC Express I/O expansion cards used in z14 systems for hardware Deflate compression and decompression as specified by RFC1951.<sup id="cite_ref-z15_announce_16-1" class="reference"><a href="#cite_note-z15_announce-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-z15_techmanual_17-1" class="reference"><a href="#cite_note-z15_techmanual-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup></li> <li>Beginning with the <a href="/wiki/POWER9" title="POWER9">POWER9</a> architecture, IBM added hardware support for compressing and decompressing Deflate (as specified by RFC 1951) to the formerly crypto-centric Nest accelerator (NX) core introduced with <a href="/wiki/POWER7" title="POWER7">POWER7+</a>. This support is available to programs running with <a href="/wiki/IBM_AIX" title="IBM AIX">AIX</a> 7.2 Technology Level 4 Expansion Pack or AIX 7.2 Technology Level 5 Service Pack 2 through the zlibNX library.<sup id="cite_ref-zlibnx_18-1" class="reference"><a href="#cite_note-zlibnx-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-power7_accel_19-1" class="reference"><a href="#cite_note-power7_accel-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup></li></ul> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=12" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/List_of_archive_formats" title="List of archive formats">List of archive formats</a></li> <li><a href="/wiki/List_of_file_archivers" class="mw-redirect" title="List of file archivers">List of file archivers</a></li> <li><a href="/wiki/Comparison_of_file_archivers" title="Comparison of file archivers">Comparison of file archivers</a></li></ul> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=13" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;"> <ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite id="CITEREFThe_Go_Authors" class="citation web cs1">The Go Authors. <a rel="nofollow" class="external text" href="https://pkg.go.dev/compress/flate">"flate package - compress/flate - Go Packages"</a>. <i>The Go Programming Language</i>. Google<span class="reference-accessdate">. Retrieved <span class="nowrap">5 September</span> 2023</span>. <q>Package flate implements the DEFLATE compressed data format, described in RFC issue 1951.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=The+Go+Programming+Language&amp;rft.atitle=flate+package+-+compress%2Fflate+-+Go+Packages&amp;rft.au=The+Go+Authors&amp;rft_id=https%3A%2F%2Fpkg.go.dev%2Fcompress%2Fflate&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFAdobe_Systems_Incorporated" class="citation web cs1"><a href="/wiki/Adobe_Inc." title="Adobe Inc.">Adobe Systems Incorporated</a>. <a rel="nofollow" class="external text" href="https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf">"PDF 32000-1:2008: Document management — Portable document format — Part 1: PDF 1.7"</a> <span class="cs1-format">(PDF)</span>. <i>Adobe Open Source</i>. Adobe. p.&#160;23<span class="reference-accessdate">. Retrieved <span class="nowrap">5 September</span> 2023</span>. <q>FlateDecode [...] Decompresses data encoded using the zlib/deflate compression method</q></cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Adobe+Open+Source&amp;rft.atitle=PDF+32000-1%3A2008%3A+Document+management+%E2%80%94+Portable+document+format+%E2%80%94+Part+1%3A+PDF+1.7&amp;rft.pages=23&amp;rft.au=Adobe+Systems+Incorporated&amp;rft_id=https%3A%2F%2Fopensource.adobe.com%2Fdc-acrobat-sdk-docs%2Fpdfstandards%2FPDF32000_2008.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-IETF-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-IETF_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-IETF_3-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFDeutsch1996" class="citation cs1"><a href="/wiki/L._Peter_Deutsch" title="L. Peter Deutsch">Deutsch, L. Peter</a> (May 1996). <a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc1951#section-Abstract"><i>DEFLATE Compressed Data Format Specification version 1.3</i></a>. <a href="/wiki/Internet_Engineering_Task_Force" title="Internet Engineering Task Force">IETF</a>. p.&#160;1.&#160;sec.&#160;Abstract. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.17487%2FRFC1951">10.17487/RFC1951</a></span>. <a href="/wiki/Request_for_Comments" title="Request for Comments">RFC</a> <a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc1951">1951</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2014-04-23</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=DEFLATE+Compressed+Data+Format+Specification+version+1.3&amp;rft.pages=p.-1.-sec.-Abstract&amp;rft.pub=IETF&amp;rft.date=1996-05&amp;rft_id=info%3Adoi%2F10.17487%2F&#82;FC1951&amp;rft.aulast=Deutsch&amp;rft.aufirst=L.+Peter&amp;rft_id=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc1951%26%23035%3Bsection-Abstract&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-patent-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-patent_4-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1041539562">.mw-parser-output .citation{word-wrap:break-word}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}</style><span class="citation patent" id="CITEREFKatz1991"><a rel="nofollow" class="external text" href="https://worldwide.espacenet.com/textdoc?DB=EPODOC&amp;IDX=US5051745">US&#32;patent 5051745</a>,&#32;<a href="/wiki/Phil_Katz" title="Phil Katz">Katz, Phillip W.</a>,&#32;"String Searcher, and Compressor Using Same",&#32;published 1991-09-24,&#32;issued 1991-09-24,&#32; assigned to PKWare Inc.</span><span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Apatent&amp;rft.number=5051745&amp;rft.cc=US&amp;rft.title=String+Searcher%2C+and+Compressor+Using+Same&amp;rft.inventor=Katz&amp;rft.assignee=PKWare+Inc.&amp;rft.date=1991-09-24&amp;rft.pubdate=1991-09-24"><span style="display: none;">&#160;</span></span></span> </li> <li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFDavid2007" class="citation book cs1">David, Salomon (2007). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=ujnQogzx_2EC&amp;pg=PA241"><i>Data Compression: The Complete Reference</i></a> (4&#160;ed.). Springer. p.&#160;241. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-84628-602-5" title="Special:BookSources/978-1-84628-602-5"><bdi>978-1-84628-602-5</bdi></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=Data+Compression%3A+The+Complete+Reference&amp;rft.pages=241&amp;rft.edition=4&amp;rft.pub=Springer&amp;rft.date=2007&amp;rft.isbn=978-1-84628-602-5&amp;rft.aulast=David&amp;rft.aufirst=Salomon&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DujnQogzx_2EC%26pg%3DPA241&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20170621195505/http://www.binaryessence.com/dct/imp/en000225.htm">"Binary Essence – Deflate64"</a>. Archived from the original on 21 June 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">22 May</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Binary+Essence+%E2%80%93+Deflate64&amp;rft_id=http%3A%2F%2Fwww.binaryessence.com%2Fdct%2Fimp%2Fen000225.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_web" title="Template:Cite web">cite web</a>}}</code>: CS1 maint: bot: original URL status unknown (<a href="/wiki/Category:CS1_maint:_bot:_original_URL_status_unknown" title="Category:CS1 maint: bot: original URL status unknown">link</a>)</span></span> </li> <li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20171227131819/http://www.binaryessence.com/dct/apc/en000263.htm">"Binary Essence – "Calgary Corpus" compression comparisons"</a>. Archived from the original on 27 December 2017<span class="reference-accessdate">. Retrieved <span class="nowrap">22 May</span> 2011</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Binary+Essence+%E2%80%93+%22Calgary+Corpus%22+compression+comparisons&amp;rft_id=http%3A%2F%2Fwww.binaryessence.com%2Fdct%2Fapc%2Fen000263.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_web" title="Template:Cite web">cite web</a>}}</code>: CS1 maint: bot: original URL status unknown (<a href="/wiki/Category:CS1_maint:_bot:_original_URL_status_unknown" title="Category:CS1 maint: bot: original URL status unknown">link</a>)</span></span> </li> <li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20220409225619/https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm">"-m (Set compression Method) switch"</a>. <i>sevenzip.osdn.jp</i>. Archived from <a rel="nofollow" class="external text" href="https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm">the original</a> on 2022-04-09<span class="reference-accessdate">. Retrieved <span class="nowrap">2023-01-21</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=sevenzip.osdn.jp&amp;rft.atitle=-m+%28Set+compression+Method%29+switch&amp;rft_id=https%3A%2F%2Fsevenzip.osdn.jp%2Fchm%2Fcmdline%2Fswitches%2Fmethod.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text">History of Lossless Data Compression Algorithms – <a rel="nofollow" class="external text" href="http://ieeeghn.org/wiki/index.php/History_of_Lossless_Data_Compression_Algorithms#DEFLATE64">Deflate64</a></span> </li> <li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text">zlib FAQ – <a rel="nofollow" class="external text" href="https://www.zlib.net/zlib_faq.html#faq40">Does zlib support the new "Deflate64" format introduced by PKWare?</a></span> </li> <li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20060315063934/http://plan9.bell-labs.com/sources/plan9/sys/src/libflate/">"Plan 9 from Bell Labs's /n/sources/plan9/sys/src/libflate"</a>. <i>plan9.bell-labs.com</i>. Lucent Technologies. Archived from <a rel="nofollow" class="external text" href="http://plan9.bell-labs.com/sources/plan9/sys/src/libflate/">the original</a> on 2006-03-15.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=plan9.bell-labs.com&amp;rft.atitle=Plan+9+from+Bell+Labs%27s+%2Fn%2Fsources%2Fplan9%2Fsys%2Fsrc%2Flibflate&amp;rft_id=http%3A%2F%2Fplan9.bell-labs.com%2Fsources%2Fplan9%2Fsys%2Fsrc%2Flibflate%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://software.intel.com/en-us/articles/igzip-a-high-performance-deflate-compressor-with-optimizations-for-genomic-data">"High Performance DEFLATE Compression with Optimizations for Genomic Data Sets"</a>. <i>Intel Software</i>. 1 October 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">18 January</span> 2020</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Intel+Software&amp;rft.atitle=High+Performance+DEFLATE+Compression+with+Optimizations+for+Genomic+Data+Sets&amp;rft.date=2019-10-01&amp;rft_id=https%3A%2F%2Fsoftware.intel.com%2Fen-us%2Farticles%2Figzip-a-high-performance-deflate-compressor-with-optimizations-for-genomic-data&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://github.com/ebiggers/libdeflate">"libdeflate"</a>. <i>Heavily optimized library for DEFLATE/zlib/gzip compression and decompression</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=Heavily+optimized+library+for+DEFLATE%2Fzlib%2Fgzip+compression+and+decompression&amp;rft.atitle=libdeflate&amp;rft_id=https%3A%2F%2Fgithub.com%2Febiggers%2Flibdeflate&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFMazzoleni2023" class="citation web cs1">Mazzoleni, Andrea (21 February 2023). <a rel="nofollow" class="external text" href="https://github.com/amadvance/advancecomp/blob/fcf71a89265c78fc26243574dda3a872574a5c02/doc/advzip.txt">"amadvance/advancecomp"</a>. <i><a href="/wiki/GitHub" title="GitHub">GitHub</a></i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=GitHub&amp;rft.atitle=amadvance%2Fadvancecomp&amp;rft.date=2023-02-21&amp;rft.aulast=Mazzoleni&amp;rft.aufirst=Andrea&amp;rft_id=https%3A%2F%2Fgithub.com%2Famadvance%2Fadvancecomp%2Fblob%2Ffcf71a89265c78fc26243574dda3a872574a5c02%2Fdoc%2Fadvzip.txt&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-quickassist-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-quickassist_15-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www-ssl.intel.com/content/www/us/en/intelligent-systems/crystal-forest-server/embedded-intel-xeon-e5-2600-and-e5-2400-series-with-intel-communications-chipset-89xx.html">"Intel® Xeon® Processor E5-2600 and E5-2400 Series with Intel® Communications Chipset 89xx Series"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2016-05-18</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Intel%C2%AE+Xeon%C2%AE+Processor+E5-2600+and+E5-2400+Series+with+Intel%C2%AE+Communications+Chipset+89xx+Series&amp;rft_id=https%3A%2F%2Fwww-ssl.intel.com%2Fcontent%2Fwww%2Fus%2Fen%2Fintelligent-systems%2Fcrystal-forest-server%2Fembedded-intel-xeon-e5-2600-and-e5-2400-series-with-intel-communications-chipset-89xx.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-z15_announce-16"><span class="mw-cite-backlink">^ <a href="#cite_ref-z15_announce_16-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-z15_announce_16-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&amp;infotype=an&amp;supplier=877&amp;letternum=ENUSZG19-0041">"Introducing the IBM z15 - The enterprise platform for mission-critical hybrid multicloud"</a>. <i><a href="/wiki/IBM" title="IBM">IBM</a></i>. 12 September 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=IBM&amp;rft.atitle=Introducing+the+IBM+z15+-+The+enterprise+platform+for+mission-critical+hybrid+multicloud&amp;rft.date=2019-09-12&amp;rft_id=https%3A%2F%2Fwww.ibm.com%2Fcommon%2Fssi%2Fcgi-bin%2Fssialias%3Fsubtype%3Dca%26infotype%3Dan%26supplier%3D877%26letternum%3DENUSZG19-0041&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-z15_techmanual-17"><span class="mw-cite-backlink">^ <a href="#cite_ref-z15_techmanual_17-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-z15_techmanual_17-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFLascu2021" class="citation book cs1">Lascu, Octavian (28 April 2021). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=0vr3DwAAQBAJ&amp;dq=%22Nest+accelerator%22&amp;pg=PA97"><i>IBM z15 (8562) Technical Guide, Page 97</i></a>. IBM Redbooks. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9780738458991" title="Special:BookSources/9780738458991"><bdi>9780738458991</bdi></a><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=book&amp;rft.btitle=IBM+z15+%288562%29+Technical+Guide%2C+Page+97&amp;rft.pub=IBM+Redbooks&amp;rft.date=2021-04-28&amp;rft.isbn=9780738458991&amp;rft.aulast=Lascu&amp;rft.aufirst=Octavian&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3D0vr3DwAAQBAJ%26dq%3D%2522Nest%2Baccelerator%2522%26pg%3DPA97&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-zlibnx-18"><span class="mw-cite-backlink">^ <a href="#cite_ref-zlibnx_18-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-zlibnx_18-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.ibm.com/docs/en/aix/7.2?topic=management-data-compression-by-using-zlibnx-library">"Data compression by using the zlibNX library - IBM Documentation"</a>. <i><a href="/wiki/IBM" title="IBM">IBM</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=unknown&amp;rft.jtitle=IBM&amp;rft.atitle=Data+compression+by+using+the+zlibNX+library+-+IBM+Documentation&amp;rft_id=https%3A%2F%2Fwww.ibm.com%2Fdocs%2Fen%2Faix%2F7.2%3Ftopic%3Dmanagement-data-compression-by-using-zlibnx-library&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> <li id="cite_note-power7_accel-19"><span class="mw-cite-backlink">^ <a href="#cite_ref-power7_accel_19-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-power7_accel_19-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://community.ibm.com/community/user/power/blogs/xinya-wang1/2021/02/18/exploitation-of-nest-accelerators-and-in-core-acce">"Exploitation of In-Core Acceleration of POWER Processors for AIX"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2021-11-01</span></span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=unknown&amp;rft.btitle=Exploitation+of+In-Core+Acceleration+of+POWER+Processors+for+AIX&amp;rft_id=https%3A%2F%2Fcommunity.ibm.com%2Fcommunity%2Fuser%2Fpower%2Fblogs%2Fxinya-wang1%2F2021%2F02%2F18%2Fexploitation-of-nest-accelerators-and-in-core-acce&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ADeflate" class="Z3988"></span></span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Deflate&amp;action=edit&amp;section=14" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/PKWARE,_Inc." class="mw-redirect" title="PKWARE, Inc.">PKWARE, Inc.</a>'s <code>appnote.txt</code>, <a rel="nofollow" class="external text" href="http://www.pkware.com/documents/casestudies/APPNOTE.TXT"><i>.ZIP File Format Specification</i></a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20141205201932/http://www.pkware.com/documents/casestudies/APPNOTE.TXT">Archived</a> 2014-12-05 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>; Section 10, <i>X. Deflating – Method 8</i>.</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" />RFC&#160;<a rel="nofollow" class="external text" href="https://datatracker.ietf.org/doc/html/rfc1951">1951</a> – <i>Deflate Compressed Data Format Specification version 1.3</i></li> <li><a rel="nofollow" class="external text" href="https://www.zlib.net">zlib Home Page</a></li> <li><a rel="nofollow" class="external text" href="https://zlib.net/feldspar.html"><i>An Explanation of the Deflate Algorithm</i></a> – by Antaeus Feldspar</li> <li><a rel="nofollow" class="external text" href="http://www.larsson.dogma.net/dccpaper.pdf"><i>Extended Application of Suffix Trees to Data Compression</i> </a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160923065920/http://www.larsson.dogma.net/dccpaper.pdf">Archived</a> 2016-09-23 at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a> – an excellent algorithm to implement Deflate by Jesper Larsson</li> <li><a rel="nofollow" class="external text" href="https://www.hanshq.net/zip.html">Zip Files: History, Explanation and Implementation</a> – walk-through of a Deflate implementation</li></ul> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Data_compression_methods223" style="padding:3px"><table class="nowraplinks hlist mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374" /><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Compression_methods" title="Template:Compression methods"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Compression_methods" title="Template talk:Compression methods"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Compression_methods" title="Special:EditPage/Template:Compression methods"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Data_compression_methods223" style="font-size:114%;margin:0 4em"><a href="/wiki/Data_compression" title="Data compression">Data compression</a> methods</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Lossless_compression" title="Lossless compression">Lossless</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;"><a href="/wiki/Entropy_coding" title="Entropy coding">Entropy type</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Adaptive_coding" title="Adaptive coding">Adaptive coding</a></li> <li><a href="/wiki/Arithmetic_coding" title="Arithmetic coding">Arithmetic</a></li> <li><a href="/wiki/Asymmetric_numeral_systems" title="Asymmetric numeral systems">Asymmetric numeral systems</a></li> <li><a href="/wiki/Golomb_coding" title="Golomb coding">Golomb</a></li> <li><a href="/wiki/Huffman_coding" title="Huffman coding">Huffman</a> <ul><li><a href="/wiki/Adaptive_Huffman_coding" title="Adaptive Huffman coding">Adaptive</a></li> <li><a href="/wiki/Canonical_Huffman_code" title="Canonical Huffman code">Canonical</a></li> <li><a href="/wiki/Modified_Huffman_coding" title="Modified Huffman coding">Modified</a></li></ul></li> <li><a href="/wiki/Range_coding" title="Range coding">Range</a></li> <li><a href="/wiki/Shannon_coding" title="Shannon coding">Shannon</a></li> <li><a href="/wiki/Shannon%E2%80%93Fano_coding" title="Shannon–Fano coding">Shannon–Fano</a></li> <li><a href="/wiki/Shannon%E2%80%93Fano%E2%80%93Elias_coding" title="Shannon–Fano–Elias coding">Shannon–Fano–Elias</a></li> <li><a href="/wiki/Tunstall_coding" title="Tunstall coding">Tunstall</a></li> <li><a href="/wiki/Unary_coding" title="Unary coding">Unary</a></li> <li><a href="/wiki/Universal_code_(data_compression)" title="Universal code (data compression)">Universal</a> <ul><li><a href="/wiki/Exponential-Golomb_coding" title="Exponential-Golomb coding">Exp-Golomb</a></li> <li><a href="/wiki/Fibonacci_coding" title="Fibonacci coding">Fibonacci</a></li> <li><a href="/wiki/Elias_gamma_coding" title="Elias gamma coding">Gamma</a></li> <li><a href="/wiki/Levenshtein_coding" title="Levenshtein coding">Levenshtein</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;"><a href="/wiki/Dictionary_coder" title="Dictionary coder">Dictionary type</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Byte_pair_encoding" title="Byte pair encoding">Byte pair encoding</a></li> <li><a href="/wiki/LZ77_and_LZ78" title="LZ77 and LZ78">Lempel–Ziv</a> <ul><li><a href="/wiki/842_(compression_algorithm)" title="842 (compression algorithm)">842</a></li> <li><a href="/wiki/LZ4_(compression_algorithm)" title="LZ4 (compression algorithm)">LZ4</a></li> <li><a href="/wiki/LZJB" class="mw-redirect" title="LZJB">LZJB</a></li> <li><a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Oberhumer" title="Lempel–Ziv–Oberhumer">LZO</a></li> <li><a href="/wiki/LZRW" title="LZRW">LZRW</a></li> <li><a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Storer%E2%80%93Szymanski" title="Lempel–Ziv–Storer–Szymanski">LZSS</a></li> <li><a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch" title="Lempel–Ziv–Welch">LZW</a></li> <li><a href="/wiki/LZWL" title="LZWL">LZWL</a></li> <li><a href="/wiki/Snappy_(compression)" title="Snappy (compression)">Snappy</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;">Other types</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Burrows%E2%80%93Wheeler_transform" title="Burrows–Wheeler transform">BWT</a></li> <li><a href="/wiki/Context_tree_weighting" title="Context tree weighting">CTW</a></li> <li><a href="/wiki/Context_mixing" title="Context mixing">CM</a></li> <li><a href="/wiki/Delta_encoding" title="Delta encoding">Delta</a> <ul><li><a href="/wiki/Incremental_encoding" title="Incremental encoding">Incremental</a></li></ul></li> <li><a href="/wiki/Dynamic_Markov_compression" title="Dynamic Markov compression">DMC</a></li> <li><a href="/wiki/Differential_pulse-code_modulation" title="Differential pulse-code modulation">DPCM</a></li> <li><a href="/wiki/Grammar-based_code" title="Grammar-based code">Grammar</a> <ul><li><a href="/wiki/Re-Pair" title="Re-Pair">Re-Pair</a></li> <li><a href="/wiki/Sequitur_algorithm" title="Sequitur algorithm">Sequitur</a></li></ul></li> <li><a href="/wiki/Discrete_cosine_transform" title="Discrete cosine transform">LDCT</a></li> <li><a href="/wiki/Move-to-front_transform" title="Move-to-front transform">MTF</a></li> <li><a href="/wiki/PAQ" title="PAQ">PAQ</a></li> <li><a href="/wiki/Prediction_by_partial_matching" title="Prediction by partial matching">PPM</a></li> <li><a href="/wiki/Run-length_encoding" title="Run-length encoding">RLE</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;">Hybrid</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em"> <ul><li>LZ77 + Huffman <ul><li><a class="mw-selflink selflink">Deflate</a></li> <li><a href="/wiki/LZX" title="LZX">LZX</a></li> <li><a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Stac" title="Lempel–Ziv–Stac">LZS</a></li></ul></li> <li>LZ77 + ANS <ul><li><a href="/wiki/LZFSE" title="LZFSE">LZFSE</a></li></ul></li> <li>LZ77 + Huffman + ANS <ul><li><a href="/wiki/Zstd" title="Zstd">Zstandard</a></li></ul></li> <li>LZ77 + Huffman + context <ul><li><a href="/wiki/Brotli" title="Brotli">Brotli</a></li></ul></li> <li>LZSS + Huffman <ul><li><a href="/wiki/LHA_(file_format)" title="LHA (file format)">LHA/LZH</a></li></ul></li> <li>LZ77 + Range <ul><li><a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm" title="Lempel–Ziv–Markov chain algorithm">LZMA</a></li> <li>LZHAM</li></ul></li> <li>RLE + BWT + MTF + Huffman <ul><li><a href="/wiki/Bzip2" title="Bzip2">bzip2</a></li></ul></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Lossy_compression" title="Lossy compression">Lossy</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;"><a href="/wiki/Transform_coding" title="Transform coding">Transform type</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Discrete_cosine_transform" title="Discrete cosine transform">Discrete cosine transform</a> <ul><li><a href="/wiki/Discrete_cosine_transform" title="Discrete cosine transform">DCT</a></li> <li><a href="/wiki/Modified_discrete_cosine_transform" title="Modified discrete cosine transform">MDCT</a></li></ul></li> <li><a href="/wiki/Discrete_sine_transform" title="Discrete sine transform">DST</a></li> <li><a href="/wiki/Fast_Fourier_transform" title="Fast Fourier transform">FFT</a></li> <li><a href="/wiki/Wavelet_transform" title="Wavelet transform">Wavelet</a> <ul><li><a href="/wiki/Daubechies_wavelet" title="Daubechies wavelet">Daubechies</a></li> <li><a href="/wiki/Discrete_wavelet_transform" title="Discrete wavelet transform">DWT</a></li> <li><a href="/wiki/Set_partitioning_in_hierarchical_trees" title="Set partitioning in hierarchical trees">SPIHT</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;">Predictive type</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Differential_pulse-code_modulation" title="Differential pulse-code modulation">DPCM</a> <ul><li><a href="/wiki/Adaptive_differential_pulse-code_modulation" title="Adaptive differential pulse-code modulation">ADPCM</a></li></ul></li> <li><a href="/wiki/Linear_predictive_coding" title="Linear predictive coding">LPC</a> <ul><li><a href="/wiki/Algebraic_code-excited_linear_prediction" title="Algebraic code-excited linear prediction">ACELP</a></li> <li><a href="/wiki/Code-excited_linear_prediction" title="Code-excited linear prediction">CELP</a></li> <li><a href="/wiki/Log_area_ratio" title="Log area ratio">LAR</a></li> <li><a href="/wiki/Line_spectral_pairs" title="Line spectral pairs">LSP</a></li> <li><a href="/wiki/Warped_linear_predictive_coding" title="Warped linear predictive coding">WLPC</a></li></ul></li> <li>Motion <ul><li><a href="/wiki/Motion_compensation" title="Motion compensation">Compensation</a></li> <li><a href="/wiki/Motion_estimation" title="Motion estimation">Estimation</a></li> <li><a href="/wiki/Motion_vector" class="mw-redirect" title="Motion vector">Vector</a></li></ul></li> <li><a href="/wiki/Psychoacoustics" title="Psychoacoustics">Psychoacoustic</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Data_compression#Audio" title="Data compression">Audio</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Bit_rate" title="Bit rate">Bit rate</a> <ul><li><a href="/wiki/Average_bitrate" title="Average bitrate">ABR</a></li> <li><a href="/wiki/Constant_bitrate" title="Constant bitrate">CBR</a></li> <li><a href="/wiki/Variable_bitrate" title="Variable bitrate">VBR</a></li></ul></li> <li><a href="/wiki/Companding" title="Companding">Companding</a></li> <li><a href="/wiki/Convolution" title="Convolution">Convolution</a></li> <li><a href="/wiki/Dynamic_range" title="Dynamic range">Dynamic range</a></li> <li><a href="/wiki/Latency_(audio)" title="Latency (audio)">Latency</a></li> <li><a href="/wiki/Nyquist%E2%80%93Shannon_sampling_theorem" title="Nyquist–Shannon sampling theorem">Nyquist–Shannon theorem</a></li> <li><a href="/wiki/Sampling_(signal_processing)" title="Sampling (signal processing)">Sampling</a></li> <li><a href="/wiki/Silence_compression" title="Silence compression">Silence compression</a></li> <li><a href="/wiki/Sound_quality" title="Sound quality">Sound quality</a></li> <li><a href="/wiki/Speech_coding" title="Speech coding">Speech coding</a></li> <li><a href="/wiki/Sub-band_coding" title="Sub-band coding">Sub-band coding</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;"><a href="/wiki/Audio_codec" title="Audio codec">Codec</a> parts</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/A-law_algorithm" title="A-law algorithm">A-law</a></li> <li><a href="/wiki/%CE%9C-law_algorithm" title="Μ-law algorithm">μ-law</a></li> <li><a href="/wiki/Differential_pulse-code_modulation" title="Differential pulse-code modulation">DPCM</a> <ul><li><a href="/wiki/Adaptive_differential_pulse-code_modulation" title="Adaptive differential pulse-code modulation">ADPCM</a></li> <li><a href="/wiki/Delta_modulation" title="Delta modulation">DM</a></li></ul></li> <li><a href="/wiki/Fourier_transform" title="Fourier transform">FT</a> <ul><li><a href="/wiki/Fast_Fourier_transform" title="Fast Fourier transform">FFT</a></li></ul></li> <li><a href="/wiki/Linear_predictive_coding" title="Linear predictive coding">LPC</a> <ul><li><a href="/wiki/Algebraic_code-excited_linear_prediction" title="Algebraic code-excited linear prediction">ACELP</a></li> <li><a href="/wiki/Code-excited_linear_prediction" title="Code-excited linear prediction">CELP</a></li> <li><a href="/wiki/Log_area_ratio" title="Log area ratio">LAR</a></li> <li><a href="/wiki/Line_spectral_pairs" title="Line spectral pairs">LSP</a></li> <li><a href="/wiki/Warped_linear_predictive_coding" title="Warped linear predictive coding">WLPC</a></li></ul></li> <li><a href="/wiki/Modified_discrete_cosine_transform" title="Modified discrete cosine transform">MDCT</a></li> <li><a href="/wiki/Psychoacoustics" title="Psychoacoustics">Psychoacoustic model</a></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Image_compression" title="Image compression">Image</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Chroma_subsampling" title="Chroma subsampling">Chroma subsampling</a></li> <li><a href="/wiki/Coding_tree_unit" title="Coding tree unit">Coding tree unit</a></li> <li><a href="/wiki/Color_space" title="Color space">Color space</a></li> <li><a href="/wiki/Compression_artifact" title="Compression artifact">Compression artifact</a></li> <li><a href="/wiki/Image_resolution" title="Image resolution">Image resolution</a></li> <li><a href="/wiki/Macroblock" title="Macroblock">Macroblock</a></li> <li><a href="/wiki/Pixel" title="Pixel">Pixel</a></li> <li><a href="/wiki/Peak_signal-to-noise_ratio" title="Peak signal-to-noise ratio">PSNR</a></li> <li><a href="/wiki/Quantization_(image_processing)" title="Quantization (image processing)">Quantization</a></li> <li><a href="/wiki/Standard_test_image" title="Standard test image">Standard test image</a></li> <li><a href="/wiki/Texture_compression" title="Texture compression">Texture compression</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;">Methods</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Chain_code" title="Chain code">Chain code</a></li> <li><a href="/wiki/Discrete_cosine_transform" title="Discrete cosine transform">DCT</a></li> <li><a class="mw-selflink selflink">Deflate</a></li> <li><a href="/wiki/Fractal_compression" title="Fractal compression">Fractal</a></li> <li><a href="/wiki/Karhunen%E2%80%93Lo%C3%A8ve_theorem" class="mw-redirect" title="Karhunen–Loève theorem">KLT</a></li> <li><a href="/wiki/Pyramid_(image_processing)" title="Pyramid (image processing)">LP</a></li> <li><a href="/wiki/Run-length_encoding" title="Run-length encoding">RLE</a></li> <li><a href="/wiki/Wavelet_transform" title="Wavelet transform">Wavelet</a> <ul><li><a href="/wiki/Daubechies_wavelet" title="Daubechies wavelet">Daubechies</a></li> <li><a href="/wiki/Discrete_wavelet_transform" title="Discrete wavelet transform">DWT</a></li> <li><a href="/wiki/Embedded_zerotrees_of_wavelet_transforms" title="Embedded zerotrees of wavelet transforms">EZW</a></li> <li><a href="/wiki/Set_partitioning_in_hierarchical_trees" title="Set partitioning in hierarchical trees">SPIHT</a></li></ul></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Data_compression#Video" title="Data compression">Video</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;">Concepts</th><td class="navbox-list-with-group navbox-list navbox-odd" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Bit_rate" title="Bit rate">Bit rate</a> <ul><li><a href="/wiki/Average_bitrate" title="Average bitrate">ABR</a></li> <li><a href="/wiki/Constant_bitrate" title="Constant bitrate">CBR</a></li> <li><a href="/wiki/Variable_bitrate" title="Variable bitrate">VBR</a></li></ul></li> <li><a href="/wiki/Display_resolution" title="Display resolution">Display resolution</a></li> <li><a href="/wiki/Film_frame" title="Film frame">Frame</a></li> <li><a href="/wiki/Frame_rate" title="Frame rate">Frame rate</a></li> <li><a href="/wiki/Video_compression_picture_types" title="Video compression picture types">Frame types</a></li> <li><a href="/wiki/Interlaced_video" title="Interlaced video">Interlace</a></li> <li><a href="/wiki/Video#Characteristics_of_video_streams" title="Video">Video characteristics</a></li> <li><a href="/wiki/Video_quality" title="Video quality">Video quality</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:7.0em;font-weight:normal;"><a href="/wiki/Video_codec" title="Video codec">Codec</a> parts</th><td class="navbox-list-with-group navbox-list navbox-even" style="padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Discrete_cosine_transform" title="Discrete cosine transform">DCT</a></li> <li><a href="/wiki/Differential_pulse-code_modulation" title="Differential pulse-code modulation">DPCM</a></li> <li><a href="/wiki/Deblocking_filter" title="Deblocking filter">Deblocking filter</a></li> <li><a href="/wiki/Lapped_transform" title="Lapped transform">Lapped transform</a></li> <li>Motion <ul><li><a href="/wiki/Motion_compensation" title="Motion compensation">Compensation</a></li> <li><a href="/wiki/Motion_estimation" title="Motion estimation">Estimation</a></li> <li><a href="/wiki/Motion_vector" class="mw-redirect" title="Motion vector">Vector</a></li></ul></li> <li><a href="/wiki/Wavelet_transform" title="Wavelet transform">Wavelet</a> <ul><li><a href="/wiki/Daubechies_wavelet" title="Daubechies wavelet">Daubechies</a></li> <li><a href="/wiki/Discrete_wavelet_transform" title="Discrete wavelet transform">DWT</a></li></ul></li></ul> </div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Information_theory" title="Information theory">Theory</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Compressed_data_structure" title="Compressed data structure">Compressed data structures</a> <ul><li><a href="/wiki/Compressed_suffix_array" title="Compressed suffix array">Compressed suffix array</a></li> <li><a href="/wiki/FM-index" title="FM-index">FM-index</a></li></ul></li> <li><a href="/wiki/Entropy_(information_theory)" title="Entropy (information theory)">Entropy</a></li> <li><a href="/wiki/Information_theory" title="Information theory">Information theory</a> <ul><li><a href="/wiki/Timeline_of_information_theory" title="Timeline of information theory">Timeline</a></li></ul></li> <li><a href="/wiki/Kolmogorov_complexity" title="Kolmogorov complexity">Kolmogorov complexity</a></li> <li><a href="/wiki/Prefix_code" title="Prefix code">Prefix code</a></li> <li><a href="/wiki/Quantization_(signal_processing)" title="Quantization (signal processing)">Quantization</a></li> <li><a href="/wiki/Rate%E2%80%93distortion_theory" title="Rate–distortion theory">Rate–distortion</a></li> <li><a href="/wiki/Redundancy_(information_theory)" title="Redundancy (information theory)">Redundancy</a></li> <li><a href="/wiki/Data_compression_symmetry" title="Data compression symmetry">Symmetry</a></li> <li><a href="/wiki/Smallest_grammar_problem" title="Smallest grammar problem">Smallest grammar problem</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Community</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Hutter_Prize" title="Hutter Prize">Hutter Prize</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">People</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Mark_Adler" title="Mark Adler">Mark Adler</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.eqiad.main‐8669bc5c8‐9smr8 Cached time: 20250318155743 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.402 seconds Real time usage: 0.603 seconds Preprocessor visited node count: 2473/1000000 Post‐expand include size: 89379/2097152 bytes Template argument size: 2576/2097152 bytes Highest expansion depth: 16/100 Expensive parser function count: 6/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 71243/5000000 bytes Lua time usage: 0.220/10.000 seconds Lua memory usage: 6507021/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 481.489 1 -total 40.05% 192.832 1 Template:Reflist 24.86% 119.678 13 Template:Cite_web 17.85% 85.949 6 Template:Navbox 17.52% 84.373 1 Template:Compression_Methods 14.53% 69.945 1 Template:Short_description 9.11% 43.882 1 Template:Dead_link 8.15% 39.239 2 Template:Pagetype 8.11% 39.040 1 Template:Fix 6.51% 31.331 2 Template:Category_handler --> <!-- Saved in parser cache with key enwiki:pcache:75859:|#|:idhash:canonical and timestamp 20250318155743 and revision id 1278387236. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&amp;type=1x1&amp;usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Deflate&amp;oldid=1278387236">https://en.wikipedia.org/w/index.php?title=Deflate&amp;oldid=1278387236</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Lossless_compression_algorithms" title="Category:Lossless compression algorithms">Lossless compression algorithms</a></li><li><a href="/wiki/Category:Data_compression" title="Category:Data compression">Data compression</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:CS1_maint:_bot:_original_URL_status_unknown" title="Category:CS1 maint: bot: original URL status unknown">CS1 maint: bot: original URL status unknown</a></li><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_matches_Wikidata" title="Category:Short description matches Wikidata">Short description matches Wikidata</a></li><li><a href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback links</a></li><li><a href="/wiki/Category:All_articles_with_dead_external_links" title="Category:All articles with dead external links">All articles with dead external links</a></li><li><a href="/wiki/Category:Articles_with_dead_external_links_from_November_2019" title="Category:Articles with dead external links from November 2019">Articles with dead external links from November 2019</a></li><li><a href="/wiki/Category:Articles_with_permanently_dead_external_links" title="Category:Articles with permanently dead external links">Articles with permanently dead external links</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 2 March 2025, at 04:21<span class="anonymous-show">&#160;(UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Deflate&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" lang="en" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">Deflate</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>18 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="mw-portlet mw-portlet-dock-bottom emptyPortlet" id="p-dock-bottom"> <ul> </ul> </div> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.eqiad.main-78bdfcd464-cf6s8","wgBackendResponseTime":160,"wgPageParseReport":{"limitreport":{"cputime":"0.402","walltime":"0.603","ppvisitednodes":{"value":2473,"limit":1000000},"postexpandincludesize":{"value":89379,"limit":2097152},"templateargumentsize":{"value":2576,"limit":2097152},"expansiondepth":{"value":16,"limit":100},"expensivefunctioncount":{"value":6,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":71243,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 481.489 1 -total"," 40.05% 192.832 1 Template:Reflist"," 24.86% 119.678 13 Template:Cite_web"," 17.85% 85.949 6 Template:Navbox"," 17.52% 84.373 1 Template:Compression_Methods"," 14.53% 69.945 1 Template:Short_description"," 9.11% 43.882 1 Template:Dead_link"," 8.15% 39.239 2 Template:Pagetype"," 8.11% 39.040 1 Template:Fix"," 6.51% 31.331 2 Template:Category_handler"]},"scribunto":{"limitreport-timeusage":{"value":"0.220","limit":"10.000"},"limitreport-memusage":{"value":6507021,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-8669bc5c8-9smr8","timestamp":"20250318155743","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Deflate","url":"https:\/\/en.wikipedia.org\/wiki\/Deflate","sameAs":"http:\/\/www.wikidata.org\/entity\/Q2712","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q2712","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2002-02-25T15:51:15Z","dateModified":"2025-03-02T04:21:17Z","headline":"data compression algorithm"}</script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10