Як працює стиснення зображень: стиснення з втратами та без втрат | Bulk Image Compressor
Що таке стиснення зображень насправді?
Стиснення зображень — це зменшення розміру файлу шляхом видалення даних. Ось і вся концепція. Ви берете файл розміром, скажімо, 5 МБ і зменшуєте його до 500 КБ або менше. Питання завжди в тому: які дані видаляються, і чи помітите ви різницю?
Кожне цифрове зображення складається з пікселів, і кожен піксель зберігає колірну інформацію. Фото 4000x3000 має 12 мільйонів пікселів, і якщо кожен зберігає 24 біти колірних даних, це приблизно 36 МБ сирої інформації. Очевидно, ніхто не хоче мати справу з файлами зображень по 36 МБ, тому ми їх стискаємо.
Існує два підходи до цього: з втратами та без втрат. Вони працюють по-різному, дають різні результати і підходять для різних речей.
Стиснення з втратами: позбавлення від того, чого ви не помітите
Стиснення з втратами назавжди видаляє частину даних зображення. Ви не можете їх повернути. Це звучить погано, але ось у чому справа: воно призначене для видалення того, що ваші очі все одно не дуже добре помічають.
Людський зір краще сприймає зміни яскравості, ніж зміни кольору. Ми також не дуже добре вловлюємо дрібні деталі в насичених, складних областях зображення. Стиснення з втратами використовує обидва ці факти.
Як працює стиснення JPEG
JPEG — найпоширеніший формат з втратами, і спосіб його роботи досить розумний.
По-перше, зображення розбивається на невеликі блоки 8x8 пікселів. Кожен блок проходить через так зване дискретне косинусне перетворення (DCT). Не хвилюйтеся про математику. Те, що робить DCT — це перетворює дані пікселів з “ось кольори в кожній позиції” на “ось патерни змін у цьому блоці”.
Після цього перетворення дані квантуються. Це крок, на якому інформація насправді викидається. Тонкі високочастотні деталі (крихітні варіації кольору та яскравості) округлюються або усуваються. Ваш повзунок якості в будь-якому редакторі зображень контролює, наскільки агресивно відбувається це квантування.
При якості 95 видаляється дуже мало. При якості 30 видаляється багато. Різниця в розмірі файлу між цими двома налаштуваннями може бути величезною, часто в 10 разів або більше.
Останній крок — ентропійне кодування, це просто крок без втрат, який пакує дані, що залишилися, максимально ефективно. Думайте про це як про архівацію файлу.
Компроміс якості
Кожне стиснення з втратами передбачає компроміс між розміром файлу та візуальною якістю. Хороша новина в тому, що цей компроміс не лінійний. Перехід від якості 100 до якості 80 може скоротити розмір файлу на 70% майже без видимої різниці. Перехід від 80 до 60 економить менше місця, але починають з’являтися артефакти — ті блокові, розмазані ділянки, які ви іноді бачите в сильно стиснутих фото.
Для більшості фотографій якість 75-85 є оптимальною. Ви отримуєте значну економію розміру файлу, і зображення все ще виглядає чудово для більшості людей. Якщо ви хочете дізнатися більше про пошук правильного балансу, перегляньте наш посібник про як зменшити розмір файлу зображення без втрати якості.
Стиснення без втрат: збереження кожного пікселя
Стиснення без втрат зменшує розмір файлу без видалення будь-яких даних взагалі. Коли ви декомпресуєте файл, ви отримуєте точний оригінал, піксель у піксель. Компроміс у тому, що файли без втрат більші, ніж файли з втратами.
Отже, як зменшити файл без втрати нічого? Знаходячи більш ефективні способи опису тих самих даних.
Як працює стиснення PNG
PNG — найпоширеніший формат без втрат. Він використовує комбінацію фільтрації та стиснення DEFLATE (той самий алгоритм, що використовується в ZIP-файлах).
Перед стисненням PNG застосовує фільтри до кожного рядка пікселів. Замість зберігання сирого колірного значення, він може зберігати різницю між кожним пікселем і сусіднім. В областях, де кольори змінюються поступово, ці різниці є дуже малими числами, часто нулями. Маленькі повторювані числа стискаються набагато краще, ніж випадкові сирі значення.
Після фільтрації дані проходять через DEFLATE, який знаходить повторювані патерни та замінює їх коротшими кодами. Якщо послідовність пікселів з’являється кілька разів, вона зберігається один раз і посилається скрізь.
Результат: ви отримуєте менший файл, який все ще є ідеальною копією оригіналу. Для типового скріншоту або графіки стиснення PNG може скоротити розмір файлу на 50-70% без втрати якості.
Де стиснення без втрат сяє
Стиснення без втрат працює найкраще, коли зображення має великі області однакових кольорів, чіткі краї та текст. Скріншоти, логотипи, діаграми, елементи інтерфейсу — все з плоскими кольорами та чистими лініями добре стискається за допомогою PNG.
Фотографії не стискаються так добре методами без втрат, оскільки вони мають занадто багато варіацій у кожному пікселі. Фотографія, стиснута без втрат, може бути в 3-5 разів більшою за те саме фото, збережене як JPEG з якістю 80, і більшість людей не помітили б різниці.
Коли використовувати кожен тип
Використовуйте стиснення з втратами (JPEG), коли:
- Ви працюєте з фотографіями
- Розмір файлу важливіший за піксельну точність
- Зображення буде відображатися в інтернеті
- Вам потрібно стиснути багато зображень одночасно (спробуйте Bulk Image Compressor для пакетної обробки)
Використовуйте стиснення без втрат (PNG), коли:
- Зображення містить текст, логотипи або чіткі краї
- Вам потрібна прозорість (PNG підтримує її, JPEG — ні)
- Ви зберігаєте скріншоти або макети інтерфейсу
- Вам потрібно редагувати зображення пізніше і ви хочете зберегти якість
Що насправді означають налаштування якості
Коли ви регулюєте повзунок якості від 1 до 100 у будь-якому інструменті для зображень, ви контролюєте, скільки даних буде викинуто під час кроку квантування. Але числа не стандартизовані між інструментами. Якість 80 у Photoshop, якість 80 у GIMP та якість 80 в онлайн-компресорі можуть давати різні результати.
Що важливіше за число — це результат. Стисніть ваше зображення, подивіться на нього та перевірте розмір файлу. Якщо воно виглядає добре, а файл достатньо малий, ви закінчили. Якщо воно виглядає погано, підніміть якість трохи і спробуйте знову.
Практичний підхід: почніть з якості 80 і порівняйте з оригіналом. У більшості випадків ви не побачите різниці. Якщо побачите, спробуйте 85 або 90. Нижче 70 артефакти стиснення стають помітними на більшості фотографій.
Це не обов’язково має бути одне або інше
Сучасні формати, як WebP, насправді підтримують як стиснення з втратами, так і без втрат в одному форматі. Ви вибираєте, який режим використовувати, коли зберігаєте файл. Ця гнучкість є однією з причин, чому WebP став таким популярним для веб-зображень. Ви можете прочитати більше про відмінності форматів у нашому порівнянні JPEG vs PNG vs WebP.
Підсумок: стиснення — це про розумні компроміси. Стиснення з втратами працює, видаляючи дані, які ваші очі не помітять. Стиснення без втрат працює, описуючи ті самі дані більш ефективно. Знання, яке використовувати і коли, економить ваш час і зберігає ваші зображення гарними при найменшому можливому розмірі файлу.
Ready to compress your images?
Bulk compress JPEG, PNG, WebP, and AVIF images right in your browser. No uploads, no sign-ups.
Try Bulk Image Compressor