Что такое битовая глубина
Битовая глубина — количество бит, отведённое на один канал одного пикселя. Один бит даёт два состояния, значит чёрное или белое без промежуточных. Восемь бит дают 256 градаций: этого хватает на плавный серый и, если каналов три, на 16,7 миллиона цветов. Шестнадцать бит на канал нужны не для просмотра, а для обработки: запас градаций спасает от полос при сильной коррекции. В PDF глубина задаётся отдельным полем прямо в описании картинки.
Коротко о цифрах
- Один бит
- два состояния: чёрное или белое, без полутонов
- Восемь бит
- 256 градаций на канал; три канала дают 16,7 млн цветов
- Где задаётся в PDF
- поле числа бит на компоненту в описании изображения
- Холст браузера
- всегда 8 бит на канал плюс альфа
- Перевод в JPEG
- альфа-канала нет, подкладывается белый фон
Сколько бит на что уходит
- Один бит на пиксель — штриховой рисунок и чёрно-белый скан текста. Именно с такими картинками работают факсовые и двухцветные фильтры сжатия.
- Восемь бит без цвета — 256 градаций серого. Скан документа в этом режиме весит втрое меньше цветного при той же читаемости.
- Восемь бит на каждый из трёх каналов — привычный полноцветный режим, тот самый «24 бита» и 16,7 миллиона оттенков.
- Тридцать два бита — то же самое плюс канал прозрачности, по восемь бит на альфу.
- Шестнадцать бит на канал — рабочий формат обработки. Ни экран, ни принтер такой запас не покажут, но при вытягивании теней он спасает от ступенчатых полос.
Почему уход в серый — самый дешёвый способ облегчить скан
Цветной пиксель несёт три канала, серый — один. Ещё до всякого сжатия перевод скана в оттенки серого убирает две трети данных, и убирает ровно ту их часть, которая не несёт смысла: цвет бумаги, желтизну от лампы, синеву от тени. Мелкий шрифт при этом не страдает вовсе — он и так чёрный.
Двухцветный режим давит ещё сильнее, но требует осторожности: любая печать серым, подпись бледной ручкой или растровая иллюстрация в один бит превращаются в грязь. Правило простое — текст выдерживает бинаризацию, полутона не выдерживают её никогда.
Что происходит с глубиной в браузере
Холст, на котором браузер рисует страницу PDF и обрабатывает картинки, всегда восьмибитный и всегда с альфой. Файл на шестнадцать бит на канал при открытии сводится к восьми, и вернуть исходный запас градаций из результата уже нельзя. Для просмотра и печати это не потеря, для дальнейшей коррекции — потеря.
На выходе глубина зависит от формата. PNG сохраняет канал прозрачности как есть. JPEG прозрачности не знает вовсе: при переводе под картинку подкладывается белый фон, и об этом мы говорим прямо, а не оставляем пользователя гадать, почему исчезла подложка. Обратной дороги нет — прозрачность после такого перевода не восстанавливается.
Частые вопросы
Стоит ли сканировать документы в 16 бит?
Нет, если файл не пойдёт в серьёзную ретушь. Восьмибитный скан выглядит идентично, весит вдвое меньше и открывается везде, тогда как шестнадцатибитный понимают не все программы и не все просмотрщики.
Откуда на плавном градиенте берутся полосы?
Градиент требует больше градаций, чем есть в восьми битах на канал. На небе или заливке фона переходы между соседними значениями становятся видимой ступенькой, особенно после усиления контраста.
Уменьшает ли вес перевод картинки в оттенки серого?
Заметно уменьшает: вместо трёх каналов остаётся один. На сканах документов выигрыш обычно кратный, и при этом читаемость текста не меняется вовсе, потому что буквы и так были чёрными.
Можно ли вернуть прозрачность после сохранения в JPEG?
Нет. Прозрачные пиксели уже смешаны с подложенным белым, и в файле от них остался обычный белый цвет. Вырезать фон заново придётся вручную, по границам объекта.