<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%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</id>
	<title>Сжатие без потерь - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://camokathomelab.servebeer.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=%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"/>
	<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%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&amp;action=history"/>
	<updated>2026-07-17T18:48:46Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://camokathomelab.servebeer.com/mediawiki/index.php?title=%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&amp;diff=42728&amp;oldid=prev</id>
		<title>imported&gt;Rainbow Spike: /* Сжатие аудио */</title>
		<link rel="alternate" type="text/html" href="https://camokathomelab.servebeer.com/mediawiki/index.php?title=%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&amp;diff=42728&amp;oldid=prev"/>
		<updated>2025-10-29T10:29:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Сжатие аудио&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Значения|Сжатие}}&lt;br /&gt;
[[Файл:Veri_sıkıştırma.jpg|мини]]&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Сжатие данных без потерь&amp;#039;&amp;#039;&amp;#039; ({{lang-en|lossless data compression}}) — класс алгоритмов [[сжатие данных|сжатия данных]] (видео, аудио, графики, документов, представленных в цифровом виде, программ на языках программирования и в машинных кодах и многих других видов данных), при использовании которых закодированные данные однозначно могут быть восстановлены с точностью до [[бит]]а, [[пиксель|пикселя]], [[воксел]]я и т.д. При этом оригинальные данные полностью восстанавливаются из сжатого состояния. Этот тип сжатия принципиально отличается от [[Сжатие данных с потерями|сжатия данных с потерями]]. Для каждого из типов цифровой информации, как правило, существуют свои оптимальные алгоритмы сжатия без потерь.&lt;br /&gt;
&lt;br /&gt;
Сжатие данных без потерь используется во многих приложениях. Например, оно используется во всех [[архиватор|файловых архиваторах]]. Оно также используется как компонент в сжатии с потерями.&lt;br /&gt;
&lt;br /&gt;
Сжатие без потерь используется, когда важна идентичность сжатых данных оригиналу. Обычный пример — исполняемые файлы и исходный код. Некоторые графические файловые форматы (например [[PNG]]) используют только сжатие без потерь, тогда как другие ([[TIFF]], [[FLIF]] или [[GIF]]) могут использовать сжатие как с потерями, так и без потерь.&lt;br /&gt;
&lt;br /&gt;
== Сжатие и [[комбинаторика]] ==&lt;br /&gt;
Легко доказывается теорема.&lt;br /&gt;
&lt;br /&gt;
{{теорема|Для любого &amp;#039;&amp;#039;N&amp;#039;&amp;#039; &amp;gt; 0 нет алгоритма сжатия без потерь, который:&lt;br /&gt;
# Любой файл длиной не более &amp;#039;&amp;#039;N&amp;#039;&amp;#039; байт или оставляет той же длины, или уменьшает.&lt;br /&gt;
# Уменьшает некоторый файл длиной не более &amp;#039;&amp;#039;N&amp;#039;&amp;#039; хотя бы на один байт.}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Доказательство.&amp;#039;&amp;#039;&amp;#039; Не ограничивая общности, можно предположить, что уменьшился файл &amp;#039;&amp;#039;A&amp;#039;&amp;#039; длины ровно &amp;#039;&amp;#039;N&amp;#039;&amp;#039;. Обозначим алфавит как &amp;lt;math&amp;gt;\Sigma&amp;lt;/math&amp;gt;. Рассмотрим множество &amp;lt;math&amp;gt;\Sigma^0 \cup \Sigma^1 \cup \ldots \cup \Sigma^{N-1} \cup \{ A \}&amp;lt;/math&amp;gt;. В этом множестве &amp;lt;math&amp;gt;256^0 + 256^1 + \ldots + 256^{N-1} + 1&amp;lt;/math&amp;gt; исходных файлов, в то время как сжатых не более чем &amp;lt;math&amp;gt;256^0 + 256^1 + \ldots + 256^{N-1}&amp;lt;/math&amp;gt;. Поэтому [[принцип Дирихле (комбинаторика)|функция декомпрессии неоднозначна]], противоречие. Теорема доказана.&lt;br /&gt;
&lt;br /&gt;
Впрочем, данная теорема нисколько не бросает тень на сжатие без потерь. Дело в том, что любой алгоритм сжатия можно модифицировать так, чтобы он увеличивал размер не более чем на 1 бит: если алгоритм уменьшил файл, пишем «1», потом сжатую последовательность, если увеличил — пишем «0», затем исходную.&lt;br /&gt;
&lt;br /&gt;
Так что несжимаемые фрагменты не приведут к бесконтрольному «раздуванию» архива. «Реальных» же файлов длины &amp;#039;&amp;#039;N&amp;#039;&amp;#039; намного меньше, чем &amp;lt;math&amp;gt;256^{N}&amp;lt;/math&amp;gt; (говорят, что данные имеют низкую [[информационная энтропия|информационную энтропию]]) — например, маловероятно, чтобы буквосочетание «щы» встретилось в осмысленном тексте, а в [[импульсно-кодовая модуляция|оцифрованном звуке]] уровень не может за один семпл прыгнуть от 0 до 100 %. К тому же за счёт специализации алгоритмов на некоторый тип данных (текст, графику, звук и т. д.) удаётся добиться высокой степени сжатия: так, применяющиеся в [[архиватор]]ах универсальные алгоритмы сжимают звук примерно на треть (в 1,5 раза), в то время как [[FLAC]] — в 2,5 раза. Большинство специализированных алгоритмов малопригодны для файлов «чужих» типов: например, звуковые данные плохо сжимаются алгоритмом, рассчитанным на тексты.&lt;br /&gt;
&lt;br /&gt;
== Метод сжатия без потерь ==&lt;br /&gt;
В общих чертах смысл сжатия без потерь таков: в исходных данных находят какую-либо закономерность и с учётом этой закономерности генерируют вторую последовательность, которая полностью описывает исходную. Например, для кодирования двоичных последовательностей, в которых много нулей и мало единиц, мы можем использовать такую замену:&lt;br /&gt;
&lt;br /&gt;
 00 → 0&lt;br /&gt;
 01 → 10&lt;br /&gt;
 10 → 110&lt;br /&gt;
 11 → 111&lt;br /&gt;
&lt;br /&gt;
В таком случае шестнадцать битов&lt;br /&gt;
&lt;br /&gt;
 00 01 00 00 11 10 00 00&lt;br /&gt;
&lt;br /&gt;
будут преобразованы в тринадцать битов&lt;br /&gt;
&lt;br /&gt;
 0 10 0 0 111 110 0 0&lt;br /&gt;
&lt;br /&gt;
Такая подстановка является [[префиксный код|префиксным кодом]], то есть обладает такой особенностью: если мы запишем сжатую строку без пробелов, мы всё равно сможем расставить в ней пробелы — а значит, восстановить исходную последовательность. Наиболее известным префиксным кодом является [[код Хаффмана]].&lt;br /&gt;
&lt;br /&gt;
Большинство алгоритмов сжатия без потерь работают в две стадии: на первой генерируется &amp;#039;&amp;#039;статистическая модель&amp;#039;&amp;#039; для входящих данных, вторая отображает входящие данные в битовом представлении, используя модель для получения «вероятностных» (то есть часто встречаемых) данных, которые используются чаще, чем «невероятностные».&amp;lt;!-- Часто, только проработанные алгоритмы получают название, тогда как последние разработки только &amp;#039;&amp;#039;подразумевают&amp;#039;&amp;#039; (общее использование, стандартизацию и т. д.) или вообще не указаны. --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Статистические модели алгоритмов для текста (или текстовых бинарных данных, таких как исполняемые файлы) включают:&lt;br /&gt;
* [[Преобразование Барроуза — Уилера]] (блочно-сортирующая пре-обработка, которая делает сжатие более эффективным)&lt;br /&gt;
* [[LZ77|LZ77 и LZ78]] (используется [[Deflate]])&lt;br /&gt;
* [[LZW]]&lt;br /&gt;
&lt;br /&gt;
Алгоритмы кодирования через генерирование битовых последовательностей:&lt;br /&gt;
* [[Алгоритм Хаффмана]] (также используется [[Deflate]])&lt;br /&gt;
* [[Арифметическое кодирование]]&lt;br /&gt;
&lt;br /&gt;
== Методы сжатия без потерь ==&lt;br /&gt;
{{список примеров|дата=2014-08-26}}&lt;br /&gt;
Полный список смотрите в [[:Категория:Сжатие данных]]&lt;br /&gt;
&lt;br /&gt;
=== Многоцелевые ===&lt;br /&gt;
* [[Кодирование длин серий]] — простая схема, дающая хорошее сжатие данных, которые содержат много повторяющихся значений&lt;br /&gt;
* [[LZW]] — используется в gif и во многих других.&lt;br /&gt;
* [[Deflate]] — используется в gzip, усовершенствованной версии zip и как часть процесса сжатия [[PNG]].&lt;br /&gt;
* [[LZMA]] — используется в [[7-zip]].&lt;br /&gt;
&lt;br /&gt;
=== Сжатие аудио ===&lt;br /&gt;
* [[Apple Lossless]] — ALAC (Apple Lossless Audio Codec)&lt;br /&gt;
* [[Audio Lossless Coding]] — также известен как MPEG-4 ALS&lt;br /&gt;
* [[Direct Stream Transfer]] — DST&lt;br /&gt;
* [[Dolby TrueHD]]&lt;br /&gt;
* [[DTS-HD Master Audio]]&lt;br /&gt;
* [[FLAC|Free Lossless Audio Codec]] — FLAC&lt;br /&gt;
* [[MLP|Meridian Lossless Packing]] — MLP&lt;br /&gt;
* [[Monkey&amp;#039;s Audio]] — Monkey’s Audio APE&lt;br /&gt;
* [[OptimFROG]]&lt;br /&gt;
* [[RealPlayer]] — RealAudio Lossless&lt;br /&gt;
* [[Shorten]] — SHN&lt;br /&gt;
* [[TAK]] — (T)om’s verlustfreier (A)udio (K)ompressor (нем.)&lt;br /&gt;
* [[TTA]] — True Audio Lossless&lt;br /&gt;
* [[WavPack]] — WavPack lossless&lt;br /&gt;
* [[Windows Media Audio 9 Lossless|WMA Lossless]] — Windows Media Audio Lossless&lt;br /&gt;
&lt;br /&gt;
=== Сжатие графики ===&lt;br /&gt;
* [[Adaptive Binary Optimization|ABO]] — Adaptive Binary Optimization&lt;br /&gt;
* [[AVIF]] — AV1 Image File Format (сжатие с/без потерь)&lt;br /&gt;
* [[BTPC]]&lt;br /&gt;
* [[CALIC]]&lt;br /&gt;
* [[CREW]]&lt;br /&gt;
* [[CTW]]&lt;br /&gt;
* [[DPCM]]&lt;br /&gt;
* [[GIF]] — (без потерь только для изображений, содержащих не более 256 цветов)&lt;br /&gt;
* [[JBIG2]] — (с потерями или без ч/б изображений)&lt;br /&gt;
* Lossless [[JPEG]] — (расширение стандарта сжатия JPEG, обеспечивающее сжатие без потерь)&lt;br /&gt;
* [[JPEG-LS]] — (стандарт сжатия без потерь/почти без потерь)&lt;br /&gt;
* [[JPEG 2000]] — (в режиме сжатия без потерь)&lt;br /&gt;
* [[LOCO-I]]&lt;br /&gt;
* [[Алгоритм сжатия MRP|MRP]]&lt;br /&gt;
* [[Progressive Graphics File|PGF]] — Progressive Graphics File (сжатие с/без потерь)&lt;br /&gt;
* [[PNG]] — Portable Network Graphics&lt;br /&gt;
* [[Алгоритм сжатия PWC|PWC]]&lt;br /&gt;
* [[TIFF]] — (исключая режимы сжатия с потерями&amp;lt;ref name=&amp;quot;TIFFspec&amp;quot;&amp;gt;{{Cite web |url=http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf |title=Спецификация TIFF v6 |lang=en|access-date=2010-12-18 |archive-date=2012-07-03 |archive-url=https://web.archive.org/web/20120703095221/http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf |url-status=dead }}&amp;lt;/ref&amp;gt;)&lt;br /&gt;
* [[TMW]]&lt;br /&gt;
* [[Truevision TGA]]&lt;br /&gt;
* [[HD Photo]] — (включая метод сжатия без потерь)&lt;br /&gt;
* [[Free Lossless Image Format|FLIF]] — Free Lossless Image Format&lt;br /&gt;
* [[JPEG XL|JXL]] - JPEG XL (сжатие с/без потерь) кодек с самым высоким сжатием без потерь.&lt;br /&gt;
&lt;br /&gt;
=== Сжатие видео ===&lt;br /&gt;
* [[Animation codec]]&lt;br /&gt;
* [[CamStudio Video Codec]]&lt;br /&gt;
* [[CorePNG]]&lt;br /&gt;
* [[FFV1]]&lt;br /&gt;
* [[Huffyuv]] — ограничен YUY2 и RGB, не совместим с ffvhuff, оригинальный не обновлялся с 2002 года&lt;br /&gt;
* [[FFvhuff]] — улучшенный по сжатию huffyuv, поддерживает ещё YV12, обратно совместим с исходным кодеком&lt;br /&gt;
* [[Lagarith]]&lt;br /&gt;
* [[LCL (video codec)|LCL]]&lt;br /&gt;
* [[MSU Lossless Video Codec]]&lt;br /&gt;
* [[Qbit Lossless Codec]]&lt;br /&gt;
* [[SheerVideo]]&lt;br /&gt;
* [[TSCC (video codec)|TSCC]] — TechSmith Screen Capture Codec&lt;br /&gt;
* [[Сжатие с использованием вейвлет]]&lt;br /&gt;
* [[Motion JPEG 2000]]&lt;br /&gt;
&lt;br /&gt;
=== Сжатие текстов ===&lt;br /&gt;
* [[Алгоритм сжатия PPM|PPM]] — архиватор HA (автор Harry Hirvola), использующий алгоритм PPM, известен высокой степенью сжатия на текстовых файлах; по этому параметру он превосходил первые версии появившегося несколько лет спустя [[RAR]]. Поэтому популярные в конце 90-х годов компакт-диски наподобие «Библиотека в кармане» использовали именно HA.&lt;br /&gt;
&lt;br /&gt;
== Примеры алгоритмов ==&lt;br /&gt;
* Семейство алгоритмов [[LZ|Лемпеля-Зива]]&lt;br /&gt;
* [[Кодирование длин серий|RLE]] (Run-length encoding — Кодирование длин серий)&lt;br /&gt;
&lt;br /&gt;
== Примеры форматов и их реализаций ==&lt;br /&gt;
* универсальные — [[Zip]], [[7-Zip]], [[RAR]], [[GZip]], [[PAQ]] и др.&lt;br /&gt;
* звук — [[FLAC]] (Free Lossless Audio Codec), [[Monkey&amp;#039;s Audio]] (APE), [[TTA]] (True Audio), [[TTE]], [[Lossless Audio|LA]] (LosslessAudio), [[RealAudio Lossless]], [[WavPack]] и др.&lt;br /&gt;
* изображения — [[PNG]], [[AVIF]] и др.&lt;br /&gt;
* видео — [[Huffyuv]].&lt;br /&gt;
&lt;br /&gt;
== См. также ==&lt;br /&gt;
* [[Сжатие данных с потерями]] (Lossy)&lt;br /&gt;
* [[Сжатие звука без потерь]]&lt;br /&gt;
&lt;br /&gt;
== Примечания ==&lt;br /&gt;
{{примечания}}&lt;br /&gt;
&lt;br /&gt;
== Ссылки ==&lt;br /&gt;
* [http://mydebianblog.blogspot.com/2009/04/lossless-linux.html Lossless кодирование видео в Linux]&lt;br /&gt;
* [http://www.lossless.ru/faq/lossless-codec-comparison/ Краткое сравнение распространенных lossless аудиокодеков]&lt;br /&gt;
&lt;br /&gt;
{{нет источников|дата=2014-08-26}}&lt;br /&gt;
{{Методы сжатия}}&lt;br /&gt;
&lt;br /&gt;
[[Категория:Сжатие данных]]&lt;br /&gt;
[[Категория:Алгоритмы сжатия без потерь|*]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Rainbow Spike</name></author>
	</entry>
</feed>