CINXE.COM

Lossless compression - Wikipedia

<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-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-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Lossless compression - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-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-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":"7d1dbf20-ad6d-4e71-84fc-658ccdc2433d","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"Lossless_compression","wgTitle":"Lossless compression","wgCurRevisionId":1256515930,"wgRevisionId":1256515930,"wgArticleId":18209,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["CS1 maint: location missing publisher","Articles with short description","Short description matches Wikidata","Use mdy dates from August 2021","All articles with unsourced statements","Articles with unsourced statements from December 2007","Webarchive template wayback links","Data compression","Lossless compression algorithms"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"Lossless_compression", "wgRelevantArticleId":18209,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"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":40000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q55542","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","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.scribunto.logs","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","mmv.bootstrap","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","wikibase.sidebar.tracking"];</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.wikimediaBadges%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.4"> <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="Lossless compression - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Lossless_compression"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=Lossless_compression&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/Lossless_compression"> <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-Lossless_compression rootpage-Lossless_compression 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" > <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> </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/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_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=Lossless+compression" 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=Lossless+compression" 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/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_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=Lossless+compression" 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=Lossless+compression" 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-Techniques" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Techniques"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Techniques</span> </div> </a> <button aria-controls="toc-Techniques-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 Techniques subsection</span> </button> <ul id="toc-Techniques-sublist" class="vector-toc-list"> <li id="toc-Multimedia" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Multimedia"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Multimedia</span> </div> </a> <ul id="toc-Multimedia-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Historical_legal_issues" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Historical_legal_issues"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Historical legal issues</span> </div> </a> <ul id="toc-Historical_legal_issues-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Methods" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Methods"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Methods</span> </div> </a> <button aria-controls="toc-Methods-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 Methods subsection</span> </button> <ul id="toc-Methods-sublist" class="vector-toc-list"> <li id="toc-General_purpose" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#General_purpose"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>General purpose</span> </div> </a> <ul id="toc-General_purpose-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Audio" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Audio"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Audio</span> </div> </a> <ul id="toc-Audio-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Raster_graphics" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Raster_graphics"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>Raster graphics</span> </div> </a> <ul id="toc-Raster_graphics-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-3D_Graphics" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#3D_Graphics"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.4</span> <span>3D Graphics</span> </div> </a> <ul id="toc-3D_Graphics-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Video" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Video"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.5</span> <span>Video</span> </div> </a> <ul id="toc-Video-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Cryptography" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Cryptography"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.6</span> <span>Cryptography</span> </div> </a> <ul id="toc-Cryptography-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Genetics_and_genomics" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Genetics_and_genomics"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.7</span> <span>Genetics and genomics</span> </div> </a> <ul id="toc-Genetics_and_genomics-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Executables" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Executables"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.8</span> <span>Executables</span> </div> </a> <ul id="toc-Executables-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Benchmarks" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Benchmarks"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Benchmarks</span> </div> </a> <ul id="toc-Benchmarks-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Limitations" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Limitations"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>Limitations</span> </div> </a> <button aria-controls="toc-Limitations-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 Limitations subsection</span> </button> <ul id="toc-Limitations-sublist" class="vector-toc-list"> <li id="toc-Mathematical_background" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Mathematical_background"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.1</span> <span>Mathematical background</span> </div> </a> <ul id="toc-Mathematical_background-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Points_of_application_in_real_compression_theory" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Points_of_application_in_real_compression_theory"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.2</span> <span>Points of application in real compression theory</span> </div> </a> <ul id="toc-Points_of_application_in_real_compression_theory-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-The_Million_Random_Digit_Challenge" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#The_Million_Random_Digit_Challenge"> <div class="vector-toc-text"> <span class="vector-toc-numb">4.3</span> <span>The Million Random Digit Challenge</span> </div> </a> <ul id="toc-The_Million_Random_Digit_Challenge-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-Further_reading" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Further_reading"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>Further reading</span> </div> </a> <ul id="toc-Further_reading-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">8</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" > <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">Lossless compression</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 31 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-31" 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">31 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%B6%D8%BA%D8%B7_%D8%A7%D9%84%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA_%D8%B9%D8%AF%D9%8A%D9%85_%D8%A7%D9%84%D8%AE%D8%B3%D8%A7%D8%B1%D8%A9" title="ضغط البيانات عديم الخسارة – Arabic" lang="ar" hreflang="ar" data-title="ضغط البيانات عديم الخسارة" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ca badge-Q70893996 mw-list-item" title=""><a href="https://ca.wikipedia.org/wiki/Algorisme_de_compressi%C3%B3_sense_p%C3%A8rdua" title="Algorisme de compressió sense pèrdua – Catalan" lang="ca" hreflang="ca" data-title="Algorisme de compressió sense pèrdua" 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/Bezeztr%C3%A1tov%C3%A1_komprese" title="Bezeztrátová komprese – Czech" lang="cs" hreflang="cs" data-title="Bezeztrátová komprese" 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-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Lossless_komprimering" title="Lossless komprimering – Danish" lang="da" hreflang="da" data-title="Lossless komprimering" data-language-autonym="Dansk" data-language-local-name="Danish" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Kadudeta_pakkimine" title="Kadudeta pakkimine – Estonian" lang="et" hreflang="et" data-title="Kadudeta pakkimine" data-language-autonym="Eesti" data-language-local-name="Estonian" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/Algoritmo_de_compresi%C3%B3n_sin_p%C3%A9rdida" title="Algoritmo de compresión sin pérdida – Spanish" lang="es" hreflang="es" data-title="Algoritmo de compresión sin pérdida" 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-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Senperda_datumkompaktigo" title="Senperda datumkompaktigo – Esperanto" lang="eo" hreflang="eo" data-title="Senperda datumkompaktigo" data-language-autonym="Esperanto" data-language-local-name="Esperanto" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%81%D8%B4%D8%B1%D8%AF%D9%87%E2%80%8C%D8%B3%D8%A7%D8%B2%DB%8C_%D8%A8%DB%8C%E2%80%8C%D8%A7%D8%AA%D9%84%D8%A7%D9%81" title="فشرده‌سازی بی‌اتلاف – Persian" lang="fa" hreflang="fa" data-title="فشرده‌سازی بی‌اتلاف" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Algorithme_de_compression_sans_perte" title="Algorithme de compression sans perte – French" lang="fr" hreflang="fr" data-title="Algorithme de compression sans perte" 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/Algoritmo_de_compresi%C3%B3n_sen_perda" title="Algoritmo de compresión sen perda – Galician" lang="gl" hreflang="gl" data-title="Algoritmo de compresión sen perda" 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/%EB%B9%84%EC%86%90%EC%8B%A4_%EC%95%95%EC%B6%95" title="비손실 압축 – Korean" lang="ko" hreflang="ko" data-title="비손실 압축" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Sa%C5%BEimanje_podataka_bez_gubitaka" title="Sažimanje podataka bez gubitaka – Croatian" lang="hr" hreflang="hr" data-title="Sažimanje podataka bez gubitaka" data-language-autonym="Hrvatski" data-language-local-name="Croatian" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Compressione_dati_senza_perdita" title="Compressione dati senza perdita – Italian" lang="it" hreflang="it" data-title="Compressione dati senza perdita" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-ka mw-list-item"><a href="https://ka.wikipedia.org/wiki/%E1%83%98%E1%83%9C%E1%83%A4%E1%83%9D%E1%83%A0%E1%83%9B%E1%83%90%E1%83%AA%E1%83%98%E1%83%98%E1%83%A1_%E1%83%A3%E1%83%93%E1%83%90%E1%83%9C%E1%83%90%E1%83%99%E1%83%90%E1%83%A0%E1%83%92%E1%83%9D%E1%83%93_%E1%83%A8%E1%83%94%E1%83%99%E1%83%A3%E1%83%9B%E1%83%A8%E1%83%95%E1%83%90" title="ინფორმაციის უდანაკარგოდ შეკუმშვა – Georgian" lang="ka" hreflang="ka" data-title="ინფორმაციის უდანაკარგოდ შეკუმშვა" data-language-autonym="ქართული" data-language-local-name="Georgian" class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Bezzudumu_saspie%C5%A1ana" title="Bezzudumu saspiešana – Latvian" lang="lv" hreflang="lv" data-title="Bezzudumu saspiešana" data-language-autonym="Latviešu" data-language-local-name="Latvian" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Vesztes%C3%A9gmentes_t%C3%B6m%C3%B6r%C3%ADt%C3%A9s" title="Veszteségmentes tömörítés – Hungarian" lang="hu" hreflang="hu" data-title="Veszteségmentes tömörítés" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E5%8F%AF%E9%80%86%E5%9C%A7%E7%B8%AE" title="可逆圧縮 – Japanese" lang="ja" hreflang="ja" data-title="可逆圧縮" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Tapsfri_komprimering" title="Tapsfri komprimering – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="Tapsfri komprimering" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Kompresja_bezstratna" title="Kompresja bezstratna – Polish" lang="pl" hreflang="pl" data-title="Kompresja bezstratna" 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/Compress%C3%A3o_sem_perda_de_dados" title="Compressão sem perda de dados – Portuguese" lang="pt" hreflang="pt" data-title="Compressão sem perda de dados" 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/%D0%A1%D0%B6%D0%B0%D1%82%D0%B8%D0%B5_%D0%B1%D0%B5%D0%B7_%D0%BF%D0%BE%D1%82%D0%B5%D1%80%D1%8C" title="Сжатие без потерь – Russian" lang="ru" hreflang="ru" data-title="Сжатие без потерь" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Lossless_data_compression" title="Lossless data compression – Simple English" lang="en-simple" hreflang="en-simple" data-title="Lossless data compression" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Bezstratov%C3%A1_kompresia" title="Bezstratová kompresia – Slovak" lang="sk" hreflang="sk" data-title="Bezstratová kompresia" data-language-autonym="Slovenčina" data-language-local-name="Slovak" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/Kompresija_bez_gubitka" title="Kompresija bez gubitka – Serbian" lang="sr" hreflang="sr" data-title="Kompresija bez gubitka" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/H%C3%A4vi%C3%B6t%C3%B6n_pakkaus" title="Häviötön pakkaus – Finnish" lang="fi" hreflang="fi" data-title="Häviötön pakkaus" 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/Icke-f%C3%B6rst%C3%B6rande_komprimering" title="Icke-förstörande komprimering – Swedish" lang="sv" hreflang="sv" data-title="Icke-förstörande komprimering" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%9A%E0%B8%B5%E0%B8%9A%E0%B8%AD%E0%B8%B1%E0%B8%94%E0%B8%82%E0%B9%89%E0%B8%AD%E0%B8%A1%E0%B8%B9%E0%B8%A5%E0%B9%81%E0%B8%9A%E0%B8%9A%E0%B9%84%E0%B8%A1%E0%B9%88%E0%B8%AA%E0%B8%B9%E0%B8%8D%E0%B9%80%E0%B8%AA%E0%B8%B5%E0%B8%A2" title="การบีบอัดข้อมูลแบบไม่สูญเสีย – Thai" lang="th" hreflang="th" data-title="การบีบอัดข้อมูลแบบไม่สูญเสีย" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Kay%C4%B1ps%C4%B1z_veri_s%C4%B1k%C4%B1%C5%9Ft%C4%B1rma" title="Kayıpsız veri sıkıştırma – Turkish" lang="tr" hreflang="tr" data-title="Kayıpsız veri sıkıştırma" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%A1%D1%82%D0%B8%D1%81%D0%BD%D0%B5%D0%BD%D0%BD%D1%8F_%D0%B1%D0%B5%D0%B7_%D0%B2%D1%82%D1%80%D0%B0%D1%82" title="Стиснення без втрат – Ukrainian" lang="uk" hreflang="uk" data-title="Стиснення без втрат" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/N%C3%A9n_kh%C3%B4ng_t%E1%BB%95n_hao" title="Nén không tổn hao – Vietnamese" lang="vi" hreflang="vi" data-title="Nén không tổn hao" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/%E6%97%A0%E6%8D%9F%E6%95%B0%E6%8D%AE%E5%8E%8B%E7%BC%A9" title="无损数据压缩 – Chinese" lang="zh" hreflang="zh" data-title="无损数据压缩" 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/Q55542#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/Lossless_compression" 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:Lossless_compression" 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/Lossless_compression"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Lossless_compression&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=Lossless_compression&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/Lossless_compression"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Lossless_compression&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=Lossless_compression&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/Lossless_compression" 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/Lossless_compression" 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="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Lossless_compression&amp;oldid=1256515930" 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=Lossless_compression&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=Lossless_compression&amp;id=1256515930&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%2FLossless_compression"><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%2FLossless_compression"><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=Lossless_compression&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=Lossless_compression&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 class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:Lossless_compression_algorithms" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q55542" 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"></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 approach allowing perfect reconstruction of the original data</div> <p class="mw-empty-elt"> </p><p><b>Lossless compression</b> is a class of <a href="/wiki/Data_compression" title="Data compression">data compression</a> that allows the original data to be perfectly reconstructed from the compressed data with no loss of <a href="/wiki/Information" title="Information">information</a>. Lossless compression is possible because most real-world data exhibits <a href="/wiki/Redundancy_(information_theory)" title="Redundancy (information theory)">statistical redundancy</a>.<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> By contrast, <a href="/wiki/Lossy_compression" title="Lossy compression">lossy compression</a> permits reconstruction only of an approximation of the original <a href="/wiki/Data" title="Data">data</a>, though usually with greatly improved <a href="/wiki/Bit_rate#Bitrates_in_multimedia" title="Bit rate">compression rates</a> (and therefore reduced media sizes). </p><p>By operation of the <a href="/wiki/Pigeonhole_principle" title="Pigeonhole principle">pigeonhole principle</a>, no lossless compression algorithm can shrink the size of all possible data: Some data will get longer by at least one symbol or bit. </p><p>Compression algorithms are usually effective for human- and machine-readable documents and cannot shrink the size of <a href="/wiki/Random" class="mw-redirect" title="Random">random</a> data that contain no <a href="/wiki/Redundancy_(information_theory)" title="Redundancy (information theory)">redundancy</a>. Different algorithms exist that are designed either with a specific type of input data in mind or with specific assumptions about what kinds of redundancy the uncompressed data are likely to contain. </p><p>Lossless data compression is used in many applications. For example, it is used in the <a href="/wiki/ZIP_(file_format)" title="ZIP (file format)">ZIP</a> file format and in the <a href="/wiki/GNU" title="GNU">GNU</a> tool <a href="/wiki/Gzip" title="Gzip">gzip</a>. It is also often used as a component within lossy data compression technologies (e.g. lossless <a href="/wiki/Joint_encoding#M/S_stereo_coding" title="Joint encoding">mid/side joint stereo</a> preprocessing by <a href="/wiki/MP3" title="MP3">MP3</a> encoders and other lossy audio encoders).<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> </p><p>Lossless compression is used in cases where it is important that the original and the decompressed data be identical, or where deviations from the original data would be unfavourable. Common examples are executable programs, text documents, and source code. Some image file formats, like <a href="/wiki/PNG" title="PNG">PNG</a> or <a href="/wiki/GIF" title="GIF">GIF</a>, use only lossless compression, while others like <a href="/wiki/TIFF" title="TIFF">TIFF</a> and <a href="/wiki/Multiple-image_Network_Graphics" title="Multiple-image Network Graphics">MNG</a> may use either lossless or lossy methods. <a href="/wiki/Audio_compression_(data)#Lossless" class="mw-redirect" title="Audio compression (data)">Lossless audio</a> formats are most often used for archiving or production purposes, while smaller <a href="/wiki/Audio_compression_(data)#Lossy_audio_compression" class="mw-redirect" title="Audio compression (data)">lossy audio</a> files are typically used on portable players and in other cases where storage space is limited or exact replication of the audio is unnecessary. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Techniques">Techniques</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=1" title="Edit section: Techniques"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Most lossless compression programs do two things in sequence: the first step generates a <i>statistical model</i> for the input data, and the second step uses this model to map input data to bit sequences in such a way that "probable" (i.e. frequently encountered) data will produce shorter output than "improbable" data. </p><p>The primary encoding algorithms used to produce bit sequences are <a href="/wiki/Huffman_coding" title="Huffman coding">Huffman coding</a> (also used by the <a href="/wiki/Deflate" title="Deflate">deflate algorithm</a>) and <a href="/wiki/Arithmetic_coding" title="Arithmetic coding">arithmetic coding</a>. Arithmetic coding achieves compression rates close to the best possible for a particular statistical model, which is given by the <a href="/wiki/Information_entropy" class="mw-redirect" title="Information entropy">information entropy</a>, whereas Huffman compression is simpler and faster but produces poor results for models that deal with symbol probabilities close to 1. </p><p>There are two primary ways of constructing statistical models: in a <i>static</i> model, the data is analyzed and a model is constructed, then this model is stored with the compressed data. This approach is simple and modular, but has the disadvantage that the model itself can be expensive to store, and also that it forces using a single model for all data being compressed, and so performs poorly on files that contain heterogeneous data. <i>Adaptive</i> models dynamically update the model as the data is compressed. Both the encoder and decoder begin with a trivial model, yielding poor compression of initial data, but as they learn more about the data, performance improves. Most popular types of compression used in practice now use adaptive coders. </p><p>Lossless compression methods may be categorized according to the type of data they are designed to compress. While, in principle, any general-purpose lossless compression algorithm (<i>general-purpose</i> meaning that they can accept any bitstring) can be used on any type of data, many are unable to achieve significant compression on data that are not of the form for which they were designed to compress. Many of the lossless compression techniques used for text also work reasonably well for <a href="/wiki/Indexed_color" title="Indexed color">indexed images</a>. </p> <div class="mw-heading mw-heading3"><h3 id="Multimedia">Multimedia</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=2" title="Edit section: Multimedia"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>These techniques take advantage of the specific characteristics of images such as the common phenomenon of contiguous 2-D areas of similar tones. Every pixel but the first is replaced by the difference to its left neighbor. This leads to small values having a much higher probability than large values. This is often also applied to sound files, and can compress files that contain mostly low frequencies and low volumes. For images, this step can be repeated by taking the difference to the top pixel, and then in videos, the difference to the pixel in the next frame can be taken. </p><p>A hierarchical version of this technique takes neighboring pairs of data points, stores their difference and sum, and on a higher level with lower resolution continues with the sums. This is called <a href="/wiki/Discrete_wavelet_transform" title="Discrete wavelet transform">discrete wavelet transform</a>. <a href="/wiki/JPEG2000" class="mw-redirect" title="JPEG2000">JPEG2000</a> additionally uses data points from other pairs and multiplication factors to mix them into the difference. These factors must be integers, so that the result is an integer under all circumstances. So the values are increased, increasing file size, but the distribution of values could be more peaked. <sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">&#91;<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (December 2007)">citation needed</span></a></i>&#93;</sup> </p><p>The adaptive encoding uses the probabilities from the previous sample in sound encoding, from the left and upper pixel in image encoding, and additionally from the previous frame in video encoding. In the wavelet transformation, the probabilities are also passed through the hierarchy.<sup id="cite_ref-Unser_3-0" class="reference"><a href="#cite_note-Unser-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Historical_legal_issues">Historical legal issues</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=3" title="Edit section: Historical legal issues"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Many of these methods are implemented in open-source and proprietary tools, particularly LZW and its variants. Some algorithms are patented in the <a href="/wiki/United_States" title="United States">United States</a> and other countries and their legal usage requires licensing by the patent holder. Because of patents on certain kinds of <a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch" title="Lempel–Ziv–Welch">LZW</a> compression, and in particular licensing practices by patent holder Unisys that many developers considered abusive, some open source proponents encouraged people to avoid using the <a href="/wiki/Graphics_Interchange_Format" class="mw-redirect" title="Graphics Interchange Format">Graphics Interchange Format</a> (GIF) for compressing still image files in favor of <a href="/wiki/Portable_Network_Graphics" class="mw-redirect" title="Portable Network Graphics">Portable Network Graphics</a> (PNG), which combines the <a href="/wiki/LZ77_and_LZ78" title="LZ77 and LZ78">LZ77</a>-based <a href="/wiki/Deflate" title="Deflate">deflate algorithm</a> with a selection of domain-specific prediction filters. However, the patents on LZW expired on June 20, 2003.<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">&#91;</span>4<span class="cite-bracket">&#93;</span></a></sup> </p><p>Many of the lossless compression techniques used for text also work reasonably well for <a href="/wiki/Indexed_image" class="mw-redirect" title="Indexed image">indexed images</a>, but there are other techniques that do not work for typical text that are useful for some images (particularly simple bitmaps), and other techniques that take advantage of the specific characteristics of images (such as the common phenomenon of contiguous 2-D areas of similar tones, and the fact that color images usually have a preponderance of a limited range of colors out of those representable in the color space). </p><p>As mentioned previously, lossless sound compression is a somewhat specialized area. Lossless sound compression algorithms can take advantage of the repeating patterns shown by the wave-like nature of the <span class="nowrap">data<span style="visibility:hidden; color:transparent; padding-left:2px">&#8205;</span>—<span style="visibility:hidden; color:transparent; padding-left:2px">&#8205;</span></span>essentially using <a href="/wiki/Autoregressive" class="mw-redirect" title="Autoregressive">autoregressive</a> models to predict the "next" value and encoding the (possibly small) difference between the expected value and the actual data. If the difference between the predicted and the actual data (called the <i>error</i>) tends to be small, then certain difference values (like 0, +1, −1 etc. on sample values) become very frequent, which can be exploited by encoding them in few output bits. </p><p>It is sometimes beneficial to compress only the differences between two versions of a file (or, in <a href="/wiki/Video_compression" class="mw-redirect" title="Video compression">video compression</a>, of successive images within a sequence). This is called <a href="/wiki/Delta_encoding" title="Delta encoding">delta encoding</a> (from the Greek letter <a href="/wiki/Delta_(letter)" title="Delta (letter)">Δ</a>, which in mathematics, denotes a difference), but the term is typically only used if both versions are meaningful outside compression and decompression. For example, while the process of compressing the error in the above-mentioned lossless audio compression scheme could be described as delta encoding from the approximated sound wave to the original sound wave, the approximated version of the sound wave is not meaningful in any other context. </p> <div class="mw-heading mw-heading2"><h2 id="Methods">Methods</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=4" title="Edit section: Methods"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></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">See also: <a href="/wiki/Category:Lossless_compression_algorithms" title="Category:Lossless compression algorithms">Category:Lossless compression algorithms</a> and <a href="/wiki/List_of_lossless_compression_algorithms" class="mw-redirect" title="List of lossless compression algorithms">List of lossless compression algorithms</a></div> <p>No lossless compression algorithm can efficiently compress all possible data <style data-mw-deduplicate="TemplateStyles:r1033199720">.mw-parser-output div.crossreference{padding-left:0}</style><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236090951"><span role="note" class="hatnote navigation-not-searchable crossreference">(see <a href="#Limitations">§&#160;Limitations</a> for more on this)</span>. For this reason, many different algorithms exist that are designed either with a specific type of input data in mind or with specific assumptions about what kinds of redundancy the uncompressed data are likely to contain. </p><p>Some of the most common lossless compression algorithms are listed below. </p> <div class="mw-heading mw-heading3"><h3 id="General_purpose">General purpose</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=5" title="Edit section: General purpose"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Asymmetric_numeral_systems" title="Asymmetric numeral systems">ANS</a> – Entropy encoding, used by <a href="/wiki/LZFSE" title="LZFSE">LZFSE</a> and <a href="/wiki/Zstandard" class="mw-redirect" title="Zstandard">Zstandard</a></li> <li><a href="/wiki/Arithmetic_coding" title="Arithmetic coding">Arithmetic coding</a> – Entropy encoding</li> <li><a href="/wiki/Burrows%E2%80%93Wheeler_transform" title="Burrows–Wheeler transform">Burrows–Wheeler transform</a> reversible transform for making textual data more compressible, used by <a href="/wiki/Bzip2" title="Bzip2">bzip2</a></li> <li><a href="/wiki/Huffman_coding" title="Huffman coding">Huffman coding</a> – Entropy encoding, pairs well with other algorithms</li> <li><a href="/wiki/LZ77_and_LZ78" title="LZ77 and LZ78">Lempel-Ziv compression</a> (LZ77 and LZ78) – Dictionary-based algorithm that forms the basis for many other algorithms <ul><li><a href="/wiki/Deflate" title="Deflate">Deflate</a> – Combines LZ77 compression with Huffman coding, used by <a href="/wiki/ZIP_(file_format)" title="ZIP (file format)">ZIP</a>, <a href="/wiki/Gzip" title="Gzip">gzip</a>, and <a href="/wiki/Portable_Network_Graphics" class="mw-redirect" title="Portable Network Graphics">PNG</a> images</li> <li><a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Markov_chain_algorithm" title="Lempel–Ziv–Markov chain algorithm">Lempel–Ziv–Markov chain algorithm</a> (LZMA) – Very high compression ratio, used by <a href="/wiki/7zip" class="mw-redirect" title="7zip">7zip</a> and <a href="/wiki/XZ_Utils" title="XZ Utils">xz</a></li> <li><a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Storer%E2%80%93Szymanski" title="Lempel–Ziv–Storer–Szymanski">Lempel–Ziv–Storer–Szymanski</a> (LZSS) – Used by <a href="/wiki/WinRAR" title="WinRAR">WinRAR</a> in tandem with Huffman coding</li> <li><a href="/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch" title="Lempel–Ziv–Welch">Lempel–Ziv–Welch</a> (LZW) – Used by <a href="/wiki/GIF" title="GIF">GIF</a> images and Unix's <code><a href="/wiki/Compress" class="mw-redirect" title="Compress">compress</a></code> utility</li></ul></li> <li><a href="/wiki/Prediction_by_partial_matching" title="Prediction by partial matching">Prediction by partial matching</a> (PPM) – Optimized for compressing <a href="/wiki/Plain_text" title="Plain text">plain text</a></li> <li><a href="/wiki/Run-length_encoding" title="Run-length encoding">Run-length encoding</a> (RLE) – Simple scheme that provides good compression of data containing many runs of the same value</li></ul> <div class="mw-heading mw-heading3"><h3 id="Audio">Audio</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=6" title="Edit section: Audio"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/Adaptive_Transform_Acoustic_Coding" class="mw-redirect" title="Adaptive Transform Acoustic Coding">Adaptive Transform Acoustic Coding</a> (ATRAC)</li> <li><a href="/wiki/Apple_Lossless" class="mw-redirect" title="Apple Lossless">Apple Lossless</a> (ALAC – Apple Lossless Audio Codec)</li> <li><a href="/wiki/Audio_Lossless_Coding" title="Audio Lossless Coding">Audio Lossless Coding</a> (also known as MPEG-4 ALS)</li> <li><a href="/wiki/Super_Audio_CD#DST" title="Super Audio CD">Direct Stream Transfer</a> (DST)</li> <li><a href="/wiki/Dolby_TrueHD" title="Dolby TrueHD">Dolby TrueHD</a></li> <li><a href="/wiki/DTS-HD_Master_Audio" title="DTS-HD Master Audio">DTS-HD Master Audio</a></li> <li><a href="/wiki/Free_Lossless_Audio_Codec" class="mw-redirect" title="Free Lossless Audio Codec">Free Lossless Audio Codec</a> (FLAC)</li> <li><a href="/wiki/Meridian_Lossless_Packing" title="Meridian Lossless Packing">Meridian Lossless Packing</a> (MLP)</li> <li><a href="/wiki/Monkey%27s_Audio" title="Monkey&#39;s Audio">Monkey's Audio</a> (Monkey's Audio APE)</li> <li><a href="/wiki/MPEG-4_SLS" title="MPEG-4 SLS">MPEG-4 SLS</a> (also known as HD-AAC)</li> <li><a href="/wiki/OptimFROG" title="OptimFROG">OptimFROG</a></li> <li><a href="/wiki/Original_Sound_Quality" title="Original Sound Quality">Original Sound Quality</a> (OSQ)</li> <li><a href="/wiki/RealPlayer" title="RealPlayer">RealPlayer</a> (RealAudio Lossless)</li> <li><a href="/wiki/Shorten_(file_format)" class="mw-redirect" title="Shorten (file format)">Shorten</a> (SHN)</li> <li>TTA (True Audio Lossless)</li> <li><a href="/wiki/WavPack" title="WavPack">WavPack</a> (WavPack lossless)</li> <li><a href="/wiki/Windows_Media_Audio_9_Lossless" class="mw-redirect" title="Windows Media Audio 9 Lossless">WMA Lossless</a> (Windows Media Lossless)</li></ul> <div class="mw-heading mw-heading3"><h3 id="Raster_graphics">Raster graphics</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=7" title="Edit section: Raster graphics"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li>Lossless only encoding <ul><li><a href="/wiki/BMP_file_format" title="BMP file format">BMP</a></li> <li><a href="/wiki/Portable_Network_Graphics" class="mw-redirect" title="Portable Network Graphics">PNG</a> – Portable Network Graphics</li> <li><a href="/wiki/GIF" title="GIF">GIF</a> – Graphics Interchange Format</li></ul></li> <li>Lossy and Lossless encoding options <ul><li><a href="/wiki/AV1#AV1_Image_File_Format_(AVIF)" title="AV1">AVIF</a> – AV1 Image File Format</li> <li><a href="/wiki/FLIF" class="mw-redirect" title="FLIF">FLIF</a> – Free Lossless Image Format</li> <li><a href="/wiki/High_Efficiency_Image_File_Format" title="High Efficiency Image File Format">HEIF</a> – High Efficiency Image File Format, using <a href="/wiki/High_Efficiency_Video_Coding" title="High Efficiency Video Coding">HEVC</a></li> <li><a href="/wiki/ILBM" title="ILBM">ILBM</a> – (RLE compression of <a href="/wiki/Amiga" title="Amiga">Amiga</a> <a href="/wiki/Interchange_File_Format" title="Interchange File Format">IFF</a> images)</li> <li><a href="/wiki/JBIG2" title="JBIG2">JBIG2</a> – compression of B&amp;W images</li> <li><a href="/wiki/JPEG_2000" title="JPEG 2000">JPEG 2000</a> – (via Le Gall–Tabatabai 5/3<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><sup id="cite_ref-Unser_3-1" class="reference"><a href="#cite_note-Unser-3"><span class="cite-bracket">&#91;</span>3<span class="cite-bracket">&#93;</span></a></sup><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> reversible integer <a href="/wiki/Wavelet_transform" title="Wavelet transform">wavelet transform</a>)</li> <li><a href="/wiki/Lossless_JPEG#JPEG-LS" title="Lossless JPEG">JPEG-LS</a></li> <li><a href="/wiki/JPEG_XL" title="JPEG XL">JPEG XL</a></li> <li><a href="/wiki/JPEG_XR" title="JPEG XR">JPEG XR</a> – formerly <i>WMPhoto</i> and <i>HD Photo</i></li> <li><a href="/wiki/Discrete_cosine_transform" title="Discrete cosine transform">LDCT</a> – <a href="/wiki/Discrete_Cosine_Transform" class="mw-redirect" title="Discrete Cosine Transform">Discrete Cosine Transform</a><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><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></li> <li><a href="/wiki/PCX" title="PCX">PCX</a> – PiCture eXchange</li> <li><a href="/wiki/QOI_(image_format)" title="QOI (image format)">QOI</a> – Quite OK Image Format</li> <li><a href="/wiki/Truevision_TGA" title="Truevision TGA">TGA</a> – Truevision TGA</li> <li><a href="/wiki/Tag_Image_File_Format" class="mw-redirect" title="Tag Image File Format">TIFF</a> – Tag Image File Format</li> <li><a href="/wiki/WebP" title="WebP">WebP</a></li></ul></li></ul> <div class="mw-heading mw-heading3"><h3 id="3D_Graphics">3D Graphics</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=8" title="Edit section: 3D Graphics"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a href="/wiki/OpenCTM" title="OpenCTM">OpenCTM</a> – Lossless compression of 3D triangle meshes</li></ul> <div class="mw-heading mw-heading3"><h3 id="Video">Video</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=9" title="Edit section: Video"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>See <a href="/wiki/List_of_codecs#Lossless_video_compression" title="List of codecs">list of lossless video codecs</a> </p> <div class="mw-heading mw-heading3"><h3 id="Cryptography">Cryptography</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=10" title="Edit section: Cryptography"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Cryptosystem" title="Cryptosystem">Cryptosystems</a> often compress data (the "plaintext") <i>before</i> encryption for added security. When properly implemented, compression greatly increases the <a href="/wiki/Unicity_distance" title="Unicity distance">unicity distance</a> by removing patterns that might facilitate <a href="/wiki/Cryptanalysis" title="Cryptanalysis">cryptanalysis</a>.<sup id="cite_ref-MenezesOV1996_9-0" class="reference"><a href="#cite_note-MenezesOV1996-9"><span class="cite-bracket">&#91;</span>9<span class="cite-bracket">&#93;</span></a></sup> However, many ordinary lossless compression algorithms produce headers, wrappers, tables, or other predictable output that might instead make cryptanalysis easier. Thus, cryptosystems must utilize compression algorithms whose output does not contain these predictable patterns. </p> <div class="mw-heading mw-heading3"><h3 id="Genetics_and_genomics">Genetics and genomics</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=11" title="Edit section: Genetics and genomics"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p><a href="/wiki/Compression_of_genomic_sequencing_data" title="Compression of genomic sequencing data">Genetics compression algorithms</a> (not to be confused with <a href="/wiki/Genetic_algorithm" title="Genetic algorithm">genetic algorithms</a>) are the latest generation of lossless algorithms that compress data (typically sequences of nucleotides) using both conventional compression algorithms and specific algorithms adapted to genetic data. In 2012, a team of scientists from Johns Hopkins University published the first genetic compression algorithm that does not rely on external genetic databases for compression. HAPZIPPER was tailored for <a href="/wiki/International_HapMap_Project" title="International HapMap Project">HapMap</a> data and achieves over 20-fold compression (95% reduction in file size), providing 2- to 4-fold better compression much faster than leading general-purpose compression utilities.<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><p>Genomic sequence compression algorithms, also known as DNA sequence compressors, explore the fact that DNA sequences have characteristic properties, such as inverted repeats. The most successful compressors are XM and GeCo.<sup id="cite_ref-Pratas_11-0" class="reference"><a href="#cite_note-Pratas-11"><span class="cite-bracket">&#91;</span>11<span class="cite-bracket">&#93;</span></a></sup> For <a href="/wiki/Eukaryotes" class="mw-redirect" title="Eukaryotes">eukaryotes</a> XM is slightly better in compression ratio, though for sequences larger than 100 MB its computational requirements are impractical. </p> <div class="mw-heading mw-heading3"><h3 id="Executables">Executables</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=12" title="Edit section: Executables"><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/Executable_compression" title="Executable compression">Executable compression</a></div> <p>Self-extracting executables contain a compressed application and a decompressor. When executed, the decompressor transparently decompresses and runs the original application. This is especially often used in <a href="/wiki/Demo_(computer_programming)" class="mw-redirect" title="Demo (computer programming)">demo</a> coding, where competitions are held for demos with strict size limits, as small as 1 <a href="/wiki/Kilobyte" title="Kilobyte">kilobyte</a>. This type of compression is not strictly limited to binary executables, but can also be applied to scripts, such as <a href="/wiki/JavaScript" title="JavaScript">JavaScript</a>. </p> <div class="mw-heading mw-heading2"><h2 id="Benchmarks">Benchmarks</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=13" title="Edit section: Benchmarks"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Lossless compression algorithms and their implementations are routinely tested in head-to-head <a href="/wiki/Benchmark_(computing)" title="Benchmark (computing)">benchmarks</a>. There are a number of better-known compression benchmarks. Some benchmarks cover only the <a href="/wiki/Data_compression_ratio" title="Data compression ratio">data compression ratio</a>, so winners in these benchmarks may be unsuitable for everyday use due to the slow speed of the top performers. Another drawback of some benchmarks is that their data files are known, so some program writers may optimize their programs for best performance on a particular data set. The winners on these benchmarks often come from the class of <a href="/wiki/Context-mixing" class="mw-redirect" title="Context-mixing">context-mixing</a> compression software. </p><p><a href="/wiki/Matt_Mahoney_(computer_scientist)" class="mw-redirect" title="Matt Mahoney (computer scientist)">Matt Mahoney</a>, in his February 2010 edition of the free booklet <i>Data Compression Explained</i>, additionally lists the following:<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> </p> <ul><li>The <a href="/wiki/Calgary_Corpus" class="mw-redirect" title="Calgary Corpus">Calgary Corpus</a> dating back to 1987 is no longer widely used due to its small size. Matt Mahoney maintained the Calgary Compression Challenge, created and maintained from May 21, 1996, through May 21, 2016, by Leonid A. Broukhis.</li> <li>The Large Text Compression Benchmark<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> and the similar <a href="/wiki/Hutter_Prize" title="Hutter Prize">Hutter Prize</a> both use a trimmed <a href="/wiki/Wikipedia" title="Wikipedia">Wikipedia</a> <a href="/wiki/XML" title="XML">XML</a> <a href="/wiki/UTF-8" title="UTF-8">UTF-8</a> data set.</li> <li>The Generic Compression Benchmark,<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> maintained by Matt Mahoney, tests compression of data generated by random <a href="/wiki/Turing_machine" title="Turing machine">Turing machines</a>.</li> <li>Sami Runsas (the author of NanoZip) maintained Compression Ratings, a benchmark similar to Maximum Compression multiple file test, but with minimum speed requirements. It offered the calculator that allowed the user to weight the importance of speed and compression ratio. The top programs were fairly different due to the speed requirement. In January 2010, the top program was NanoZip followed by <a href="/wiki/FreeArc" title="FreeArc">FreeArc</a>, <a href="/w/index.php?title=CCM_(software)&amp;action=edit&amp;redlink=1" class="new" title="CCM (software) (page does not exist)">CCM</a>, <a href="/w/index.php?title=Flashzip&amp;action=edit&amp;redlink=1" class="new" title="Flashzip (page does not exist)">flashzip</a>, and <a href="/wiki/7-Zip" title="7-Zip">7-Zip</a>.</li> <li>The Monster of Compression benchmark by Nania Francesco Antonio tested compression on 1Gb of public data with a 40-minute time limit. In December 2009, the top ranked archiver was NanoZip 0.07a and the top ranked single file compressor was <a href="/w/index.php?title=Ccmx&amp;action=edit&amp;redlink=1" class="new" title="Ccmx (page does not exist)">ccmx</a> 1.30c.</li></ul> <p>The Compression Ratings website published a chart summary of the "frontier" in compression ratio and time.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">&#91;</span>15<span class="cite-bracket">&#93;</span></a></sup> </p><p>The Compression Analysis Tool<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">&#91;</span>16<span class="cite-bracket">&#93;</span></a></sup> is a Windows application that enables end users to benchmark the performance characteristics of streaming implementations of LZF4, Deflate, ZLIB, GZIP, BZIP2 and LZMA using their own data. It produces measurements and charts with which users can compare the compression speed, decompression speed and compression ratio of the different compression methods and to examine how the compression level, buffer size and flushing operations affect the results. </p> <div class="mw-heading mw-heading2"><h2 id="Limitations">Limitations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=14" title="Edit section: Limitations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Lossless data compression algorithms cannot guarantee compression for all input data sets. In other words, for any lossless data compression algorithm, there will be an input data set that does not get smaller when processed by the algorithm, and for any lossless data compression algorithm that makes at least one file smaller, there will be at least one file that it makes larger. This is easily proven with elementary mathematics using a counting argument called the <a href="/wiki/Pigeonhole_principle" title="Pigeonhole principle">pigeonhole principle</a>, as follows:<sup id="cite_ref-FOOTNOTESayood200241_17-0" class="reference"><a href="#cite_note-FOOTNOTESayood200241-17"><span class="cite-bracket">&#91;</span>17<span class="cite-bracket">&#93;</span></a></sup><sup id="cite_ref-ISSEP-2015_18-0" class="reference"><a href="#cite_note-ISSEP-2015-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup> </p> <ul><li>Assume that each file is represented as a string of bits of some arbitrary length.</li> <li>Suppose that there is a compression algorithm that transforms every file into an output file that is no longer than the original file, and that at least one file will be compressed into an output file that is shorter than the original file.</li> <li>Let <i>M</i> be the least number such that there is a file <i>F</i> with length <i>M</i> bits that compresses to something shorter. Let <i>N</i> be the length (in bits) of the compressed version of <i>F</i>.</li> <li>Because <i>N</i>&lt;<i>M</i>, <b>every</b> file of length <i>N</i> keeps its size during compression. There are 2<sup><i>N</i></sup> such files possible. Together with <i>F</i>, this makes 2<sup><i>N</i></sup>+1 files that all compress into one of the 2<sup><i>N</i></sup> files of length <i>N</i>.</li> <li>But 2<sup><i>N</i></sup> is smaller than 2<sup><i>N</i></sup>+1, so by the pigeonhole principle there must be some file of length <i>N</i> that is simultaneously the output of the compression function on two different inputs. That file cannot be decompressed reliably (which of the two originals should that yield?), which contradicts the assumption that the algorithm was lossless.</li> <li>We must therefore conclude that our original hypothesis (that the compression function makes no file longer) is necessarily untrue.</li></ul> <p>Most practical compression algorithms provide an "escape" facility that can turn off the normal coding for files that would become longer by being encoded. In theory, only a single additional bit is required to tell the decoder that the normal coding has been turned off for the entire input; however, most encoding algorithms use at least one full byte (and typically more than one) for this purpose. For example, <a href="/wiki/Deflate" title="Deflate">deflate</a> compressed files never need to grow by more than 5 bytes per 65,535 bytes of input. </p><p>In fact, if we consider files of length N, if all files were equally probable, then for any lossless compression that reduces the size of some file, the expected length of a compressed file (averaged over all possible files of length N) must necessarily be <i>greater</i> than N.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">&#91;</span>19<span class="cite-bracket">&#93;</span></a></sup> So if we know nothing about the properties of the data we are compressing, we might as well not compress it at all. A lossless compression algorithm is useful only when we are more likely to compress certain types of files than others; then the algorithm could be designed to compress those types of data better. </p><p>Thus, the main lesson from the argument is not that one risks big losses, but merely that one cannot always win. To choose an algorithm always means implicitly to select a <i>subset</i> of all files that will become usefully shorter. This is the theoretical reason why we need to have different compression algorithms for different kinds of files: there cannot be any algorithm that is good for all kinds of data. </p><p>The "trick" that allows lossless compression algorithms, used on the type of data they were designed for, to consistently compress such files to a shorter form is that the files the algorithms are designed to act on all have some form of easily modeled <a href="/wiki/Redundancy_(information_theory)" title="Redundancy (information theory)">redundancy</a> that the algorithm is designed to remove, and thus belong to the subset of files that that algorithm can make shorter, whereas other files would not get compressed or even get bigger. Algorithms are generally quite specifically tuned to a particular type of file: for example, lossless audio compression programs do not work well on text files, and vice versa. </p><p>In particular, files of <a href="/wiki/Random" class="mw-redirect" title="Random">random</a> data cannot be consistently compressed by any conceivable lossless data compression algorithm; indeed, this result is used to <i>define</i> the concept of randomness in <a href="/wiki/Kolmogorov_complexity" title="Kolmogorov complexity">Kolmogorov complexity</a>.<sup id="cite_ref-FOOTNOTESayood200238_20-0" class="reference"><a href="#cite_note-FOOTNOTESayood200238-20"><span class="cite-bracket">&#91;</span>20<span class="cite-bracket">&#93;</span></a></sup> </p><p>It is provably impossible to create an algorithm that can losslessly compress any data. While there have been many claims through the years of companies achieving "perfect compression" where an arbitrary number <i>N</i> of random bits can always be compressed to <i>N</i>&#160;−&#160;1 bits, these kinds of claims can be safely discarded without even looking at any further details regarding the purported compression scheme. Such an algorithm contradicts fundamental laws of mathematics because, if it existed, it could be applied repeatedly to losslessly reduce any file to length 1.<sup id="cite_ref-ISSEP-2015_18-1" class="reference"><a href="#cite_note-ISSEP-2015-18"><span class="cite-bracket">&#91;</span>18<span class="cite-bracket">&#93;</span></a></sup> </p><p>On the other hand, it has also been proven<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">&#91;</span>21<span class="cite-bracket">&#93;</span></a></sup> that there is no algorithm to determine whether a file is incompressible in the sense of Kolmogorov complexity. Hence it is possible that any particular file, even if it appears random, may be significantly compressed, even including the size of the decompressor. An example is the digits of the mathematical constant <i><a href="/wiki/Pi" title="Pi">pi</a></i>, which appear random but can be generated by a very small program. However, even though it cannot be determined whether a particular file is incompressible, a <a href="/wiki/Kolmogorov_complexity#Compression" title="Kolmogorov complexity">simple theorem about incompressible strings</a> shows that over 99% of files of any given length cannot be compressed by more than one byte (including the size of the decompressor). </p> <div class="mw-heading mw-heading3"><h3 id="Mathematical_background">Mathematical background</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=15" title="Edit section: Mathematical background"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Abstractly, a <a href="/wiki/Compression_algorithm" class="mw-redirect" title="Compression algorithm">compression algorithm</a> can be viewed as a <a href="/wiki/Function_(mathematics)" title="Function (mathematics)">function</a> on sequences (normally of octets). Compression is successful if the resulting sequence is shorter than the original sequence (and the instructions for the decompression map). For a compression algorithm to be <a href="/wiki/Lossless" class="mw-redirect" title="Lossless">lossless</a>, the compression map must form an <a href="/wiki/Injective_function" title="Injective function">injection</a> from "plain" to "compressed" bit sequences. The pigeonhole principle prohibits a bijection between the collection of sequences of length <i>N</i> and any subset of the collection of sequences of length <i>N</i>−1. Therefore, it is not possible to produce a lossless algorithm that reduces the size of every possible input sequence.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">&#91;</span>22<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Points_of_application_in_real_compression_theory">Points of application in real compression theory</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=16" title="Edit section: Points of application in real compression theory"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Real compression algorithm designers accept that streams of high information entropy cannot be compressed, and accordingly, include facilities for detecting and handling this condition. An obvious way of detection is applying a raw compression algorithm and testing if its output is smaller than its input. Sometimes, detection is made by <a href="/wiki/Heuristics" class="mw-redirect" title="Heuristics">heuristics</a>; for example, a compression application may consider files whose names end in ".zip", ".arj" or ".lha" uncompressible without any more sophisticated detection. A common way of handling this situation is quoting input, or uncompressible parts of the input in the output, minimizing the compression overhead. For example, the <a href="/wiki/ZIP_(file_format)" title="ZIP (file format)">zip</a> data format specifies the 'compression method' of 'Stored' for input files that have been copied into the archive verbatim.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">&#91;</span>23<span class="cite-bracket">&#93;</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="The_Million_Random_Digit_Challenge">The Million Random Digit Challenge</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=17" title="Edit section: The Million Random Digit Challenge"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Mark Nelson, in response to claims of "magic" compression algorithms appearing in comp.compression, has constructed a 415,241 byte binary file of highly entropic content, and issued a public challenge of $100 to anyone to write a program that, together with its input, would be smaller than his provided binary data yet be able to reconstitute it without error.<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">&#91;</span>24<span class="cite-bracket">&#93;</span></a></sup> A similar challenge, with $5,000 as reward, was issued by Mike Goldman.<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">&#91;</span>25<span class="cite-bracket">&#93;</span></a></sup> </p> <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=Lossless_compression&amp;action=edit&amp;section=18" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1184024115">.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}</style><div class="div-col" style="column-width: 22em;"> <ul><li><a href="/wiki/Comparison_of_file_archivers" title="Comparison of file archivers">Comparison of file archivers</a></li> <li><a href="/wiki/Data_compression" title="Data compression">Data compression</a></li> <li><a href="/wiki/David_A._Huffman" title="David A. Huffman">David A. Huffman</a></li> <li><a href="/wiki/Entropy_(information_theory)" title="Entropy (information theory)">Entropy (information theory)</a></li> <li><a href="/wiki/Grammar-based_code" title="Grammar-based code">Grammar-based code</a></li> <li><a href="/wiki/Hutter_Prize" title="Hutter Prize">Hutter Prize</a></li> <li><a href="/wiki/Information_theory" title="Information theory">Information theory</a></li> <li><a href="/wiki/Kolmogorov_complexity" title="Kolmogorov complexity">Kolmogorov complexity</a></li> <li><a href="/wiki/List_of_codecs" title="List of codecs">List of codecs</a></li> <li><a href="/wiki/Lossless_Transform_Audio_Compression" title="Lossless Transform Audio Compression">Lossless Transform Audio Compression</a> (LTAC)</li> <li><a href="/wiki/Lossy_compression" title="Lossy compression">Lossy compression</a></li> <li><a href="/wiki/Normal_number" title="Normal number">Normal number</a></li> <li><a href="/wiki/Universal_code_(data_compression)" title="Universal code (data compression)">Universal code (data compression)</a></li></ul> </div> <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=Lossless_compression&amp;action=edit&amp;section=19" 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"> <div class="mw-references-wrap mw-references-columns"><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 class="citation web cs1"><a rel="nofollow" class="external text" href="https://bjc.edc.org/bjc-r/cur/programming/4-internet/4-representation-compression/6-compression.html?topic=nyc_bjc/4-internet.topic&amp;course=bjc4nyc.html&amp;novideo&amp;noassignment#:~:text=Lossless%20compression%20works%20by%20removing,an%20example%20of%20lossless%20compression.">"Unit 4 Lab 4: Data Representation and Compression, Page 6"</a>. <i>bjc.edc.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">April 9,</span> 2022</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=bjc.edc.org&amp;rft.atitle=Unit+4+Lab+4%3A+Data+Representation+and+Compression%2C+Page+6&amp;rft_id=https%3A%2F%2Fbjc.edc.org%2Fbjc-r%2Fcur%2Fprogramming%2F4-internet%2F4-representation-compression%2F6-compression.html%3Ftopic%3Dnyc_bjc%2F4-internet.topic%26course%3Dbjc4nyc.html%26novideo%26noassignment%23%3A~%3Atext%3DLossless%2520compression%2520works%2520by%2520removing%2Can%2520example%2520of%2520lossless%2520compression.&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" 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="CITEREFPrice2022" class="citation news cs1">Price, Andy (March 3, 2022). <a rel="nofollow" class="external text" href="https://audiomediainternational.com/lossless-streaming-back-to-the-future/">"Lossless Streaming – the future of high res audio"</a>. <i>Audio Media International</i>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Audio+Media+International&amp;rft.atitle=Lossless+Streaming+%E2%80%93+the+future+of+high+res+audio&amp;rft.date=2022-03-03&amp;rft.aulast=Price&amp;rft.aufirst=Andy&amp;rft_id=https%3A%2F%2Faudiomediainternational.com%2Flossless-streaming-back-to-the-future%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-Unser-3"><span class="mw-cite-backlink">^ <a href="#cite_ref-Unser_3-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Unser_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="CITEREFUnserBlu2003" class="citation journal cs1">Unser, M.; Blu, T. (2003). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20191013222932/https://pdfs.semanticscholar.org/6ed4/dece8b364416d9c390ba53df913bca7fb9a6.pdf">"Mathematical properties of the JPEG2000 wavelet filters"</a> <span class="cs1-format">(PDF)</span>. <i>IEEE Transactions on Image Processing</i>. <b>12</b> (9): 1080–1090. <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2003ITIP...12.1080U">2003ITIP...12.1080U</a>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FTIP.2003.812329">10.1109/TIP.2003.812329</a>. <a href="/wiki/PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a>&#160;<a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/18237979">18237979</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:2765169">2765169</a>. Archived from <a rel="nofollow" class="external text" href="https://pdfs.semanticscholar.org/6ed4/dece8b364416d9c390ba53df913bca7fb9a6.pdf">the original</a> <span class="cs1-format">(PDF)</span> on October 13, 2019.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=IEEE+Transactions+on+Image+Processing&amp;rft.atitle=Mathematical+properties+of+the+JPEG2000+wavelet+filters&amp;rft.volume=12&amp;rft.issue=9&amp;rft.pages=1080-1090&amp;rft.date=2003&amp;rft_id=info%3Adoi%2F10.1109%2FTIP.2003.812329&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A2765169%23id-name%3DS2CID&amp;rft_id=info%3Apmid%2F18237979&amp;rft_id=info%3Abibcode%2F2003ITIP...12.1080U&amp;rft.aulast=Unser&amp;rft.aufirst=M.&amp;rft.au=Blu%2C+T.&amp;rft_id=https%3A%2F%2Fpdfs.semanticscholar.org%2F6ed4%2Fdece8b364416d9c390ba53df913bca7fb9a6.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</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/20090602212118/http://www.unisys.com/about__unisys/lzw">"LZW Patent Information"</a>. <i>About Unisys</i>. Unisys. Archived from <a rel="nofollow" class="external text" href="http://www.unisys.com/about__unisys/lzw">the original</a> on June 2, 2009.</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=About+Unisys&amp;rft.atitle=LZW+Patent+Information&amp;rft_id=http%3A%2F%2Fwww.unisys.com%2Fabout&#95;_unisys%2Flzw&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></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="CITEREFSullivan2003" class="citation web cs1">Sullivan, Gary (December 8–12, 2003). <a rel="nofollow" class="external text" href="https://www.itu.int/wftp3/av-arch/video-site/0312_Wai/VCEG-U06.doc">"General characteristics and design considerations for temporal subband video coding"</a>. <i><a href="/wiki/ITU-T" title="ITU-T">ITU-T</a></i>. <a href="/wiki/Video_Coding_Experts_Group" title="Video Coding Experts Group">Video Coding Experts Group</a><span class="reference-accessdate">. Retrieved <span class="nowrap">September 13,</span> 2019</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=ITU-T&amp;rft.atitle=General+characteristics+and+design+considerations+for+temporal+subband+video+coding&amp;rft.date=2003-12-08%2F2003-12-12&amp;rft.aulast=Sullivan&amp;rft.aufirst=Gary&amp;rft_id=https%3A%2F%2Fwww.itu.int%2Fwftp3%2Fav-arch%2Fvideo-site%2F0312_Wai%2FVCEG-U06.doc&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" 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 id="CITEREFBovik2009" class="citation book cs1">Bovik, Alan C. (2009). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=wXmSPPB_c_0C&amp;pg=PA355"><i>The Essential Guide to Video Processing</i></a>. <a href="/wiki/Academic_Press" title="Academic Press">Academic Press</a>. p.&#160;355. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/9780080922508" title="Special:BookSources/9780080922508"><bdi>9780080922508</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=The+Essential+Guide+to+Video+Processing&amp;rft.pages=355&amp;rft.pub=Academic+Press&amp;rft.date=2009&amp;rft.isbn=9780080922508&amp;rft.aulast=Bovik&amp;rft.aufirst=Alan+C.&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DwXmSPPB_c_0C%26pg%3DPA355&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></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 id="CITEREFAhmedMandyamMagotra1995" class="citation journal cs1"><a href="/wiki/N._Ahmed" class="mw-redirect" title="N. Ahmed">Ahmed, Nasir</a>; Mandyam, Giridhar D.; Magotra, Neeraj (April 17, 1995). Rodriguez, Arturo A.; Safranek, Robert J.; Delp, Edward J. (eds.). "DCT-based scheme for lossless image compression". <i>Digital Video Compression: Algorithms and Technologies 1995</i>. <b>2419</b>. International Society for Optics and Photonics: 474–478. <a href="/wiki/Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/1995SPIE.2419..474M">1995SPIE.2419..474M</a>. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1117%2F12.206386">10.1117/12.206386</a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:13894279">13894279</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Digital+Video+Compression%3A+Algorithms+and+Technologies+1995&amp;rft.atitle=DCT-based+scheme+for+lossless+image+compression&amp;rft.volume=2419&amp;rft.pages=474-478&amp;rft.date=1995-04-17&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A13894279%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1117%2F12.206386&amp;rft_id=info%3Abibcode%2F1995SPIE.2419..474M&amp;rft.aulast=Ahmed&amp;rft.aufirst=Nasir&amp;rft.au=Mandyam%2C+Giridhar+D.&amp;rft.au=Magotra%2C+Neeraj&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></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 id="CITEREFKomatsuSezaki1998" class="citation book cs1">Komatsu, K.; Sezaki, Kaoru (1998). <a rel="nofollow" class="external text" href="https://www.researchgate.net/publication/3747502">"Reversible discrete cosine transform"</a>. <i>Proceedings of the 1998 IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP '98 (Cat. No.98CH36181)</i>. Vol.&#160;3. pp.&#160;1769–1772 vol.3. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FICASSP.1998.681802">10.1109/ICASSP.1998.681802</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-7803-4428-6" title="Special:BookSources/0-7803-4428-6"><bdi>0-7803-4428-6</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:17045923">17045923</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Reversible+discrete+cosine+transform&amp;rft.btitle=Proceedings+of+the+1998+IEEE+International+Conference+on+Acoustics%2C+Speech+and+Signal+Processing%2C+ICASSP+%2798+%28Cat.+No.98CH36181%29&amp;rft.pages=1769-1772+vol.3&amp;rft.date=1998&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A17045923%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1109%2FICASSP.1998.681802&amp;rft.isbn=0-7803-4428-6&amp;rft.aulast=Komatsu&amp;rft.aufirst=K.&amp;rft.au=Sezaki%2C+Kaoru&amp;rft_id=https%3A%2F%2Fwww.researchgate.net%2Fpublication%2F3747502&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-MenezesOV1996-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-MenezesOV1996_9-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFAlfred_J._MenezesPaul_C._van_OorschotScott_A._Vanstone1996" class="citation book cs1">Alfred J. Menezes; Paul C. van Oorschot; Scott A. Vanstone (October 16, 1996). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=MhvcBQAAQBAJ&amp;q=%22compression%22+%22unicity+distance%22"><i>Handbook of Applied Cryptography</i></a>. CRC Press. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-1-4398-2191-6" title="Special:BookSources/978-1-4398-2191-6"><bdi>978-1-4398-2191-6</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=Handbook+of+Applied+Cryptography&amp;rft.pub=CRC+Press&amp;rft.date=1996-10-16&amp;rft.isbn=978-1-4398-2191-6&amp;rft.au=Alfred+J.+Menezes&amp;rft.au=Paul+C.+van+Oorschot&amp;rft.au=Scott+A.+Vanstone&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DMhvcBQAAQBAJ%26q%3D%2522compression%2522%2B%2522unicity%2Bdistance%2522&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></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"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFChanda,_P.Elhaik,_E.Bader,_J.S.2012" class="citation journal cs1">Chanda, P.; Elhaik, E.; Bader, J.S. (2012). <a rel="nofollow" class="external text" href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3488212">"HapZipper: sharing HapMap populations just got easier"</a>. <i>Nucleic Acids Res</i>. <b>40</b> (20): 1–7. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1093%2Fnar%2Fgks709">10.1093/nar/gks709</a>. <a href="/wiki/PMC_(identifier)" class="mw-redirect" title="PMC (identifier)">PMC</a>&#160;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3488212">3488212</a></span>. <a href="/wiki/PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a>&#160;<a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/22844100">22844100</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rft.genre=article&amp;rft.jtitle=Nucleic+Acids+Res&amp;rft.atitle=HapZipper%3A+sharing+HapMap+populations+just+got+easier&amp;rft.volume=40&amp;rft.issue=20&amp;rft.pages=1-7&amp;rft.date=2012&amp;rft_id=https%3A%2F%2Fwww.ncbi.nlm.nih.gov%2Fpmc%2Farticles%2FPMC3488212%23id-name%3DPMC&amp;rft_id=info%3Apmid%2F22844100&amp;rft_id=info%3Adoi%2F10.1093%2Fnar%2Fgks709&amp;rft.au=Chanda%2C+P.&amp;rft.au=Elhaik%2C+E.&amp;rft.au=Bader%2C+J.S.&amp;rft_id=https%3A%2F%2Fwww.ncbi.nlm.nih.gov%2Fpmc%2Farticles%2FPMC3488212&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-Pratas-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-Pratas_11-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPratasPinhoFerreira2016" class="citation book cs1">Pratas, D.; Pinho, A. J.; Ferreira, P. J. S. G. (2016). "Efficient compression of genomic sequences". <a rel="nofollow" class="external text" href="http://sweet.ua.pt/pratas/papers/Pratas-2016b.pdf"><i>Data Compression Conference</i></a> <span class="cs1-format">(PDF)</span>. Snowbird, Utah.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Efficient+compression+of+genomic+sequences&amp;rft.btitle=Data+Compression+Conference&amp;rft.place=Snowbird%2C+Utah&amp;rft.date=2016&amp;rft.aulast=Pratas&amp;rft.aufirst=D.&amp;rft.au=Pinho%2C+A.+J.&amp;rft.au=Ferreira%2C+P.+J.+S.+G.&amp;rft_id=http%3A%2F%2Fsweet.ua.pt%2Fpratas%2Fpapers%2FPratas-2016b.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span><span class="cs1-maint citation-comment"><code class="cs1-code">{{<a href="/wiki/Template:Cite_book" title="Template:Cite book">cite book</a>}}</code>: CS1 maint: location missing publisher (<a href="/wiki/Category:CS1_maint:_location_missing_publisher" title="Category:CS1 maint: location missing publisher">link</a>)</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 id="CITEREFMatt_Mahoney2010" class="citation web cs1">Matt Mahoney (2010). <a rel="nofollow" class="external text" href="http://nishi.dreamhosters.com/u/dce2010-02-26.pdf">"Data Compression Explained"</a> <span class="cs1-format">(PDF)</span>. pp.&#160;3–5.</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=Data+Compression+Explained&amp;rft.pages=3-5&amp;rft.date=2010&amp;rft.au=Matt+Mahoney&amp;rft_id=http%3A%2F%2Fnishi.dreamhosters.com%2Fu%2Fdce2010-02-26.pdf&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" 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="http://mattmahoney.net/dc/text.html">"Large Text Compression Benchmark"</a>. <i>mattmahoney.net</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=mattmahoney.net&amp;rft.atitle=Large+Text+Compression+Benchmark&amp;rft_id=http%3A%2F%2Fmattmahoney.net%2Fdc%2Ftext.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" 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 class="citation web cs1"><a rel="nofollow" class="external text" href="http://mattmahoney.net/dc/uiq/">"Generic Compression Benchmark"</a>. <i>mattmahoney.net</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=mattmahoney.net&amp;rft.atitle=Generic+Compression+Benchmark&amp;rft_id=http%3A%2F%2Fmattmahoney.net%2Fdc%2Fuiq%2F&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</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/20160901094802/http://compressionratings.com/rating_sum.html">"Summary"</a>. September 1, 2016. Archived from <a rel="nofollow" class="external text" href="http://compressionratings.com/rating_sum.html">the original</a> on September 1, 2016.</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=Summary&amp;rft.date=2016-09-01&amp;rft_id=http%3A%2F%2Fcompressionratings.com%2Frating_sum.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</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.noemax.com/free-tools/compression-analysis-tool.asp">"Compression Analysis Tool"</a>. <i>Free Tools</i>. Noemax Technologies.</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=Free+Tools&amp;rft.atitle=Compression+Analysis+Tool&amp;rft_id=https%3A%2F%2Fwww.noemax.com%2Ffree-tools%2Fcompression-analysis-tool.asp&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTESayood200241-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTESayood200241_17-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFSayood2002">Sayood 2002</a>, p.&#160;41.</span> </li> <li id="cite_note-ISSEP-2015-18"><span class="mw-cite-backlink">^ <a href="#cite_ref-ISSEP-2015_18-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-ISSEP-2015_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 id="CITEREFBell,_Tim2015" class="citation book cs1"><a href="/wiki/Tim_Bell_(computer_scientist)" title="Tim Bell (computer scientist)">Bell, Tim</a> (September 28 – October 1, 2015). "Surprising Computer Science". <i>8th International Conference on Informatics in Schools: Situation, Evolution, and Perspectives</i>. Lecture Notes in Computer Science. Vol.&#160;9378. <a href="/wiki/Springer_Nature" title="Springer Nature">Springer</a>. pp.&#160;1–11. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-319-25396-1_1">10.1007/978-3-319-25396-1_1</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-319-25396-1" title="Special:BookSources/978-3-319-25396-1"><bdi>978-3-319-25396-1</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:26313283">26313283</a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=Surprising+Computer+Science&amp;rft.btitle=8th+International+Conference+on+Informatics+in+Schools%3A+Situation%2C+Evolution%2C+and+Perspectives&amp;rft.series=Lecture+Notes+in+Computer+Science&amp;rft.pages=1-11&amp;rft.pub=Springer&amp;rft.date=2015-09-28%2F2015-10-01&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A26313283%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1007%2F978-3-319-25396-1_1&amp;rft.isbn=978-3-319-25396-1&amp;rft.au=Bell%2C+Tim&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span> See in particular <a rel="nofollow" class="external text" href="https://books.google.com/books?id=exicCgAAQBAJ&amp;pg=PA9">pp. 8–9</a>.</span> </li> <li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</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.sciencedirect.com/topics/computer-science/lossless-compression">"Lossless Compression - an overview | ScienceDirect Topics"</a>. <i>www.sciencedirect.com</i><span class="reference-accessdate">. Retrieved <span class="nowrap">October 30,</span> 2022</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=www.sciencedirect.com&amp;rft.atitle=Lossless+Compression+-+an+overview+%7C+ScienceDirect+Topics&amp;rft_id=https%3A%2F%2Fwww.sciencedirect.com%2Ftopics%2Fcomputer-science%2Flossless-compression&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-FOOTNOTESayood200238-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-FOOTNOTESayood200238_20-0">^</a></b></span> <span class="reference-text"><a href="#CITEREFSayood2002">Sayood 2002</a>, p.&#160;38.</span> </li> <li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFLiVitányi1993" class="citation book cs1">Li, Ming; Vitányi, Paul (1993). <a rel="nofollow" class="external text" href="https://archive.org/details/introductiontoko00limi/page/102/mode/2up"><i>An Introduction to Kolmogorov Complexity and its Applications</i></a>. New York: Springer. p.&#160;102. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/0-387-94053-7" title="Special:BookSources/0-387-94053-7"><bdi>0-387-94053-7</bdi></a>. <q>Theorem 2.6 The function <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 C(x)}"> <semantics> <mrow class="MJX-TeXAtom-ORD"> <mstyle displaystyle="true" scriptlevel="0"> <mi>C</mi> <mo stretchy="false">(</mo> <mi>x</mi> <mo stretchy="false">)</mo> </mstyle> </mrow> <annotation encoding="application/x-tex">{\displaystyle C(x)}</annotation> </semantics> </math></span><img src="https://wikimedia.org/api/rest_v1/media/math/render/svg/7f6b53682fddbe3028ffd75bd75771b86c6c7bd9" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:4.905ex; height:2.843ex;" alt="{\displaystyle C(x)}"></span> is not partial recursive.</q></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=An+Introduction+to+Kolmogorov+Complexity+and+its+Applications&amp;rft.place=New+York&amp;rft.pages=102&amp;rft.pub=Springer&amp;rft.date=1993&amp;rft.isbn=0-387-94053-7&amp;rft.aulast=Li&amp;rft.aufirst=Ming&amp;rft.au=Vit%C3%A1nyi%2C+Paul&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fintroductiontoko00limi%2Fpage%2F102%2Fmode%2F2up&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFJoshi,_Mark_S.2015" class="citation book cs1"><a href="/wiki/Mark_S._Joshi" title="Mark S. Joshi">Joshi, Mark S.</a> (March 18, 2015). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=Bn6dBwAAQBAJ&amp;pg=PA21">"The Pigeonhole Principle"</a>. <i>Proof Patterns</i>. <a href="/wiki/Springer_Nature" title="Springer Nature">Springer</a>. p.&#160;21. <a href="/wiki/Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-319-16250-8_3">10.1007/978-3-319-16250-8_3</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-3-319-16250-8" title="Special:BookSources/978-3-319-16250-8"><bdi>978-3-319-16250-8</bdi></a>. <a href="/wiki/S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a>&#160;<a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:116983697">116983697</a><span class="reference-accessdate">. Retrieved <span class="nowrap">August 24,</span> 2021</span>.</cite><span title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rft.genre=bookitem&amp;rft.atitle=The+Pigeonhole+Principle&amp;rft.btitle=Proof+Patterns&amp;rft.pages=21&amp;rft.pub=Springer&amp;rft.date=2015-03-18&amp;rft_id=https%3A%2F%2Fapi.semanticscholar.org%2FCorpusID%3A116983697%23id-name%3DS2CID&amp;rft_id=info%3Adoi%2F10.1007%2F978-3-319-16250-8_3&amp;rft.isbn=978-3-319-16250-8&amp;rft.au=Joshi%2C+Mark+S.&amp;rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DBn6dBwAAQBAJ%26pg%3DPA21&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</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="http://www.pkware.com/documents/casestudies/APPNOTE.TXT">".ZIP File Format Specification"</a>. <a href="/wiki/PKWARE,_Inc." class="mw-redirect" title="PKWARE, Inc.">PKWARE, Inc.</a> chapter V, section J.</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=.ZIP+File+Format+Specification&amp;rft.pages=chapter+V%2C+section+J&amp;rft.pub=PKWARE%2C+Inc.&amp;rft_id=http%3A%2F%2Fwww.pkware.com%2Fdocuments%2Fcasestudies%2FAPPNOTE.TXT&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFNelson2006" class="citation web cs1">Nelson, Mark (June 20, 2006). <a rel="nofollow" class="external text" href="https://marknelson.us/posts/2006/06/20/million-digit-challenge.html">"The Million Random Digit Challenge Revisited"</a>.</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=The+Million+Random+Digit+Challenge+Revisited&amp;rft.date=2006-06-20&amp;rft.aulast=Nelson&amp;rft.aufirst=Mark&amp;rft_id=https%3A%2F%2Fmarknelson.us%2Fposts%2F2006%2F06%2F20%2Fmillion-digit-challenge.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> <li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFCraig" class="citation web cs1">Craig, Patrick. <a rel="nofollow" class="external text" href="http://www.patrickcraig.co.uk/other/compression.htm">"The $5000 Compression Challenge"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">June 8,</span> 2009</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=The+%245000+Compression+Challenge&amp;rft.aulast=Craig&amp;rft.aufirst=Patrick&amp;rft_id=http%3A%2F%2Fwww.patrickcraig.co.uk%2Fother%2Fcompression.htm&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></span> </li> </ol></div></div> <div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=Lossless_compression&amp;action=edit&amp;section=20" title="Edit section: Further reading"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSayood2017" class="citation book cs1">Sayood, Khalid (October 27, 2017). <i>Introduction to Data Compression</i>. The Morgan Kaufmann Series in Multimedia Information and Systems (5&#160;ed.). <a href="/wiki/Morgan_Kaufmann" class="mw-redirect" title="Morgan Kaufmann">Morgan Kaufmann</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-12809474-7" title="Special:BookSources/978-0-12809474-7"><bdi>978-0-12809474-7</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=Introduction+to+Data+Compression&amp;rft.series=The+Morgan+Kaufmann+Series+in+Multimedia+Information+and+Systems&amp;rft.edition=5&amp;rft.pub=Morgan+Kaufmann&amp;rft.date=2017-10-27&amp;rft.isbn=978-0-12809474-7&amp;rft.aulast=Sayood&amp;rft.aufirst=Khalid&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span> (790 pages)</li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFSayood2002" class="citation book cs1">Sayood, Khalid, ed. (December 18, 2002). <i>Lossless Compression Handbook (Communications, Networking and Multimedia)</i> (1&#160;ed.). <a href="/wiki/Academic_Press" title="Academic Press">Academic Press</a>. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&#160;<a href="/wiki/Special:BookSources/978-0-12390754-7" title="Special:BookSources/978-0-12390754-7"><bdi>978-0-12390754-7</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=Lossless+Compression+Handbook+%28Communications%2C+Networking+and+Multimedia%29&amp;rft.edition=1&amp;rft.pub=Academic+Press&amp;rft.date=2002-12-18&amp;rft.isbn=978-0-12390754-7&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span> (488 pages)</li></ul> <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=Lossless_compression&amp;action=edit&amp;section=21" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><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/ning/compress/wiki/LZFFormat">"LZF compression format"</a>. <i>github</i><span class="reference-accessdate">. Retrieved <span class="nowrap">October 17,</span> 2017</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=github&amp;rft.atitle=LZF+compression+format&amp;rft_id=https%3A%2F%2Fgithub.com%2Fning%2Fcompress%2Fwiki%2FLZFFormat&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFPhamdo" class="citation web cs1">Phamdo, Nam. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20160508054615/http://www.data-compression.com/theory.html">"Theory of Data Compression"</a>. <i>Data Compression</i>. Archived from <a rel="nofollow" class="external text" href="http://www.data-compression.com/theory.html">the original</a> on May 8, 2016<span class="reference-accessdate">. Retrieved <span class="nowrap">October 17,</span> 2017</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=Data+Compression&amp;rft.atitle=Theory+of+Data+Compression&amp;rft.aulast=Phamdo&amp;rft.aufirst=Nam&amp;rft_id=http%3A%2F%2Fwww.data-compression.com%2Ftheory.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFHydrogenaudio_Knowledgebase2015" class="citation web cs1"><a rel="nofollow" class="external text" href="http://wiki.hydrogenaud.io/index.php?title=Lossless_comparison">"Lossless comparison"</a>. <i>Hydrogenaudio Knowledgebase</i>. January 5, 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">October 17,</span> 2017</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=Hydrogenaudio+Knowledgebase&amp;rft.atitle=Lossless+comparison&amp;rft.date=2015-01-05&amp;rft_id=http%3A%2F%2Fwiki.hydrogenaud.io%2Findex.php%3Ftitle%3DLossless_comparison&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFBobulous_Central2003" class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.bobulous.org.uk/misc/audioFormats.html">"Lossless and lossy audio formats for music"</a>. <i>Bobulous Central</i>. November 6, 2003<span class="reference-accessdate">. Retrieved <span class="nowrap">October 17,</span> 2017</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=Bobulous+Central&amp;rft.atitle=Lossless+and+lossy+audio+formats+for+music.&amp;rft.date=2003-11-06&amp;rft_id=http%3A%2F%2Fwww.bobulous.org.uk%2Fmisc%2FaudioFormats.html&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222"><cite id="CITEREFImage_Compression_Benchmark" class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.c10n.info/archives/439">"Image Compression Benchmark"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130210011959/https://www.c10n.info/archives/439">Archived</a> from the original on February 10, 2013.</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=Image+Compression+Benchmark&amp;rft_id=https%3A%2F%2Fwww.c10n.info%2Farchives%2F439&amp;rfr_id=info%3Asid%2Fen.wikipedia.org%3ALossless+compression" class="Z3988"></span> overview of <ul><li><a rel="nofollow" class="external text" href="http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&amp;Sect2=HITOFF&amp;d=PALL&amp;p=1&amp;u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&amp;r=1&amp;f=G&amp;l=50&amp;s1=7,096,360.PN.&amp;OS=PN/7,096,360&amp;RS=PN/7,096,360">US patent #7,096,360</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170202002158/http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&amp;Sect2=HITOFF&amp;d=PALL&amp;p=1&amp;u=%2Fnetahtml%2FPTO%2Fsrchnum.htm&amp;r=1&amp;f=G&amp;l=50&amp;s1=7,096,360.PN.&amp;OS=PN/7,096,360&amp;RS=PN/7,096,360">Archived</a> February 2, 2017, at the <a href="/wiki/Wayback_Machine" title="Wayback Machine">Wayback Machine</a>, "[a]n "Frequency-Time Based Data Compression Method" supporting the compression, encryption, decompression, and decryption and persistence of many binary digits through frequencies where each frequency represents many bits."</li></ul></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_methods" 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_methods" 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 class="mw-selflink selflink">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 href="/wiki/Deflate" title="Deflate">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 href="/wiki/Deflate" title="Deflate">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><tr><td class="navbox-abovebelow" colspan="2"><div> <ul><li><span class="noviewer" typeof="mw:File"><span title="Template"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/83/Symbol_template_class_pink.svg/16px-Symbol_template_class_pink.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/83/Symbol_template_class_pink.svg/23px-Symbol_template_class_pink.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/83/Symbol_template_class_pink.svg/31px-Symbol_template_class_pink.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Template:Compression_formats" title="Template:Compression formats">Compression formats</a></li> <li><span class="noviewer" typeof="mw:File"><span title="Template"><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/8/83/Symbol_template_class_pink.svg/16px-Symbol_template_class_pink.svg.png" decoding="async" width="16" height="16" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/8/83/Symbol_template_class_pink.svg/23px-Symbol_template_class_pink.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/8/83/Symbol_template_class_pink.svg/31px-Symbol_template_class_pink.svg.png 2x" data-file-width="180" data-file-height="185" /></span></span> <a href="/wiki/Template:Compression_software" title="Template:Compression software">Compression software</a> (<a href="/wiki/Codec" title="Codec">codecs</a>)</li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐jd5hs Cached time: 20241122140545 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.695 seconds Real time usage: 0.900 seconds Preprocessor visited node count: 2483/1000000 Post‐expand include size: 110932/2097152 bytes Template argument size: 2246/2097152 bytes Highest expansion depth: 12/100 Expensive parser function count: 6/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 109281/5000000 bytes Lua time usage: 0.430/10.000 seconds Lua memory usage: 7972036/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 749.594 1 -total 39.42% 295.453 1 Template:Reflist 27.11% 203.202 17 Template:Cite_web 14.67% 109.940 6 Template:Navbox 14.25% 106.822 1 Template:Compression_Methods 11.65% 87.300 1 Template:Short_description 8.23% 61.681 9 Template:Cite_book 7.26% 54.400 2 Template:Pagetype 6.20% 46.504 2 Template:Sfn 5.27% 39.474 1 Template:Citation_needed --> <!-- Saved in parser cache with key enwiki:pcache:idhash:18209-0!canonical and timestamp 20241122140545 and revision id 1256515930. 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?type=1x1" 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=Lossless_compression&amp;oldid=1256515930">https://en.wikipedia.org/w/index.php?title=Lossless_compression&amp;oldid=1256515930</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:Data_compression" title="Category:Data compression">Data compression</a></li><li><a href="/wiki/Category:Lossless_compression_algorithms" title="Category:Lossless compression algorithms">Lossless compression algorithms</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:_location_missing_publisher" title="Category:CS1 maint: location missing publisher">CS1 maint: location missing publisher</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:Use_mdy_dates_from_August_2021" title="Category:Use mdy dates from August 2021">Use mdy dates from August 2021</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_December_2007" title="Category:Articles with unsourced statements from December 2007">Articles with unsourced statements from December 2007</a></li><li><a href="/wiki/Category:Webarchive_template_wayback_links" title="Category:Webarchive template wayback links">Webarchive template wayback 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 10 November 2024, at 08:41<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=Lossless_compression&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"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></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"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-f69cdc8f6-v4897","wgBackendResponseTime":123,"wgPageParseReport":{"limitreport":{"cputime":"0.695","walltime":"0.900","ppvisitednodes":{"value":2483,"limit":1000000},"postexpandincludesize":{"value":110932,"limit":2097152},"templateargumentsize":{"value":2246,"limit":2097152},"expansiondepth":{"value":12,"limit":100},"expensivefunctioncount":{"value":6,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":109281,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 749.594 1 -total"," 39.42% 295.453 1 Template:Reflist"," 27.11% 203.202 17 Template:Cite_web"," 14.67% 109.940 6 Template:Navbox"," 14.25% 106.822 1 Template:Compression_Methods"," 11.65% 87.300 1 Template:Short_description"," 8.23% 61.681 9 Template:Cite_book"," 7.26% 54.400 2 Template:Pagetype"," 6.20% 46.504 2 Template:Sfn"," 5.27% 39.474 1 Template:Citation_needed"]},"scribunto":{"limitreport-timeusage":{"value":"0.430","limit":"10.000"},"limitreport-memusage":{"value":7972036,"limit":52428800},"limitreport-logs":"anchor_id_list = table#1 {\n [\"CITEREFAhmedMandyamMagotra1995\"] = 1,\n [\"CITEREFAlfred_J._MenezesPaul_C._van_OorschotScott_A._Vanstone1996\"] = 1,\n [\"CITEREFBell,_Tim2015\"] = 1,\n [\"CITEREFBobulous_Central2003\"] = 1,\n [\"CITEREFBovik2009\"] = 1,\n [\"CITEREFChanda,_P.Elhaik,_E.Bader,_J.S.2012\"] = 1,\n [\"CITEREFCraig\"] = 1,\n [\"CITEREFHydrogenaudio_Knowledgebase2015\"] = 1,\n [\"CITEREFImage_Compression_Benchmark\"] = 1,\n [\"CITEREFJoshi,_Mark_S.2015\"] = 1,\n [\"CITEREFKomatsuSezaki1998\"] = 1,\n [\"CITEREFLiVitányi1993\"] = 1,\n [\"CITEREFMatt_Mahoney2010\"] = 1,\n [\"CITEREFNelson2006\"] = 1,\n [\"CITEREFPhamdo\"] = 1,\n [\"CITEREFPratasPinhoFerreira2016\"] = 1,\n [\"CITEREFPrice2022\"] = 1,\n [\"CITEREFSayood2002\"] = 1,\n [\"CITEREFSayood2017\"] = 1,\n [\"CITEREFSullivan2003\"] = 1,\n [\"CITEREFUnserBlu2003\"] = 1,\n}\ntemplate_list = table#1 {\n [\"!\"] = 1,\n [\"Citation needed\"] = 1,\n [\"Cite book\"] = 9,\n [\"Cite journal\"] = 3,\n [\"Cite news\"] = 1,\n [\"Cite web\"] = 17,\n [\"Compression Methods\"] = 1,\n [\"Div col\"] = 1,\n [\"Div col end\"] = 1,\n [\"Main article\"] = 1,\n [\"Mdash\"] = 1,\n [\"Nowrap\"] = 1,\n [\"Px2\"] = 2,\n [\"Reflist\"] = 1,\n [\"See also\"] = 1,\n [\"Sfn\"] = 2,\n [\"Sfnref\"] = 3,\n [\"Short description\"] = 1,\n [\"Slink\"] = 1,\n [\"Use mdy dates\"] = 1,\n [\"Webarchive\"] = 1,\n [\"Xref\"] = 1,\n}\narticle_whitelist = table#1 {\n}\n"},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-jd5hs","timestamp":"20241122140545","ttl":2592000,"transientcontent":false}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"Lossless compression","url":"https:\/\/en.wikipedia.org\/wiki\/Lossless_compression","sameAs":"http:\/\/www.wikidata.org\/entity\/Q55542","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q55542","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":"2001-10-30T14:31:44Z","dateModified":"2024-11-10T08:41:35Z","headline":"data compression approach allowing perfect reconstruction of the original data"}</script> </body> </html>

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