Хранение данных и сжатие
| English | Русский |
|---|---|
| compression/kəmˈpreʃn/ | сжатие |
| kibibyte/ˈkɪbɪbaɪt/ | кебибайт |
| lossless/ˈlɒsləs/ | без потерь |
| run-length encoding/rʌn leŋθ enˈkəʊdɪŋ/ | кодировка длин серий |
| lossy/ˈlɒsi/ | с потерями |
Сжатие файлов
- Единицы измерения объема данных возрастают на каждом шаге на 1024.
- Мы можем рассчитать размер изображения или звукового файла.
- Затем сжатие уменьшает размер файлов.
Измерение объема памяти
- бит (один 0 или 1) · ниббл (4 бита) · байт (8 бит).
- Затем каждый следующий размер в 1024× больше предыдущего (так как $1024 = 2^{10}$): кибибайт (KiB) = 1024 байта, мебибайт (MiB) = 1024 KiB, гибибайт (GiB) = 1024 MiB, тебибайт (TiB) = 1024 GiB.
- Всегда делите на 1024 (не на 1000), чтобы перейти к следующему размеру.

Компьютеры представляют все данные в двоичном виде — длинные последовательности 0 и 1.
Сколько байт в 1 кибибайте (КиБ)?
1 KiB = 1024 байта (каждая единица хранения увеличивается в 1024 раз = 2^10).
Соотнесите каждую концепцию хранения/сжатия с её значением.
Размер файла растет с увеличением детализации; сжатие уменьшает его, либо без потерь, либо с потерями.
Вычисление размера файла
- Изображение (биты) $=$ ширина × высота × глубина цвета.
- Звук (биты) $=$ частота дискретизации × разрешение выборки × количество секунд.
- Разделите на 8 для байтов, затем на 1024 для Киб, снова для Миб.
- Например, $1024 \times 1024$ при 16 бип $= 16\,777\,216$ бит $= 2$ Миб.
Изображение имеет размер 100 × 100 пикселей и глубину цвета 24 бита. Каков его размер в битах?
ширина × высота × глубина цвета = 100 × 100 × 24 = 240 000 бит.
Сжатие данных
- Без потерь сжимает файл без необратимой утраты — исходные данные можно восстановить точно. Побитовое кодирование длин серий (RLE) записывает серию повторений один раз (например,
WWWWWWWW→ "8 W"). - С потерями делает файл значительно меньше путем безвозвратного удаления данных (снижение разрешения/частоты дискретизации).
- Используйте без потерь для текстовых и программных файлов; с потерями для фотографий, музыки и видео.

Побитовое кодирование длин серий хранит серию повторений один раз в виде пары (количество, значение): 8 W, затем 4 R.
Длиновое кодирование уменьшает повторы
Сжатие делает файл меньше. Длинное кодирование заменяет последовательность одинаковых значений одним значением и количеством — без потерь, лучше всего подходит для данных с длинными сериями повторов.
Безпотерянное сжатие:
Безпотерянное сохраняет все данные (например, RLE); с потерями безвозвратно отбрасывает часть информации.
Длинное кодирование (RLE) сжимает данные путём:
RLE заменяет серию, например WWWWWWWW, на «8 W» — отлично подходит, когда в данных много повторений.
Сжатие с потерями наиболее подходит для:
Сжатие с потерями подходит для мультимедиа, где небольшая потеря качества позволяет значительно уменьшить размер файла; точные данные требуют сжатия без потерь.
Вы поняли
- размеры памяти увеличиваются в 1024 раза (KiB, MiB, GiB, TiB)
- размер изображения = ширина × высота × глубина цвета (биты); звук = частота × разрешение × секунды
- без потерь = точное восстановление (RLE); с потерями = меньший размер, необратимая потеря
- без потерь для текста/программ; с потерями для фото/музыки/видео