JPEG - це не просто формат файлів для зберігання зображень, а складний метод кодування і декодування зображень, який має безліч налаштувань.
про JPEG
Сучасні просунуті цифрові камери мають кілька основних налаштувань JPEG:
- Якість знімка JPEG
- Розмір знімка JPEG
- Налаштування параметрів знімка
Під якістю знімка розуміють кількість корисних даних, які може зберегти JPEG. Формат JPEG був розроблений для компактного зберігання зображень, в його основі лежать методи і алгоритми стиснення та оптимізації зображень. Алгоритми кодування JPEG біса складні і витончені, але в основі лежить рівень стиснення, від якого залежить кінцева якість знімка. На відміну від BMP, TIFF і подібних форматів, JPEG не зберігає дані про кожен окремий піксель зображення, а тільки векторні зміщення кольорів. За великим рахунком, це геніальна математична абстракція зображення, в якій єдиним реально закодованим пикселем є верхній лівий піксель. Я не буду вникати в суть стиснення, зупинюся лише на тому, що саме рівень стиснення в форматі JPEG впливає на якість знімка JPEG.
Наприклад, в камері Nikon D40 можна задати 3 рівня якості знімка JPEG
- Висока якість - Fine
- Стандартна якість - Norm
- Базове якість - Basic
У загальному випадку, режим Fine має на увазі збереження знімка в форматі JPEG зі 100% збереженням деталей. Але через специфіку роботи алгоритму, 100% є умовними. Режим Norm має рівень стиснення в два рази більший, ніж режим Fine. А режим Basic стискає фотографії в 4 рази сильніше, за режим Fine. Таким чином ми отримуємо файли зображень меншим обсягом і з меншою кількістю корисних даних. Рівень стиснення легко простежити за максимальним розміром файлу при різному рівні стиснення JPEG. Так, для Nikon D40 :
- Fine - 3,4МБ
- Norm - 1,8МБ
- Basic - 0,9МБ
Найцікавіше, що обсяг файлів, які показує камера в настройках меню є максимальним розрахунковим обсягом при заданому кодуванні. Через особливості алгоритму, наприклад, знімаючи з якістю Fine, навряд чи можна буде отримати файл саме з 3.4МБ, зазвичай алгоритм справляється краще і створює більш дрібні файли. Розмір файлу JPEG залежить саме від того, що є на зображенні. Якщо говорити грубо, то знімок з рівномірно синім небом алгоритм закодує з мінімальними витратами і в підсумку отримаємо замість 3.4МБ приблизно 1 МБ. А ось якщо знімати вночі на високих значеннях ISO, то можна отримати файл розміром близько 3МБ. Це пов'язано з тим, що на високих значеннях ISO буде багато цифрового шуму, тобто на фотографії буде багато різнорідних пікселів, для яких складно підібрати інтерполяцію (усереднення) і алгоритму JPEG потрібно використовувати більше пам'яті для збереження всіх деталей на знімку.
Увага: через те, що камера розраховує кількість кадрів на картці саме по максимальному допустимому обсягу знімка, реальна їх кількість значно більше. Наприклад, я використовую 16GB картку пам'яті на Nikon D40 . При цьому в різних режимах камера показує:
- Fine - 4400 фото
- Norm - 8400 фото
- Basic - 16.400 фото
А насправді у мене в режимі Fine легко поміщається понад 6000 фотографій.
Ось приклад падіння якості фотографії при використанні програмної обробки одного і того ж знімка з різним рівнем стиснення.
Якість 100%. Розмір файлу 308 kb
Якість 100%
Якість 70%. Розмір файлу 107 kb
Якість 70%
Якість 40%. Розмір файлу 89,4 kb
Якість 40%
Якість 1%. Розмір файлу 60,5 kb
Якість 1%
У загальному випадку, те ж саме відбувається і при різних настройках якості. Дуже часто різницю між різними настройками накамерні JPEG відчути дуже складно, адже камера і маркетологи завжди намагаються тішити нас хорошими фотографіями. А ось різниця в обсязі файлів часто дуже сильно помітна.
Також, більшість сучасних цифрових камер мають настройку розміру зображення. Ця установка показує, скільки мегапікселів матиме знімок. Для прикладу, Nikon D40 :
- Великий, L (large) - 6.0MP, 3008X2000 точок
- Середній, M (medium) - 3.3MP, 2256X1496 точок
- Маленький, S (small) - 1.5MP, 1504X1000 точок
Така установка дозволяє зберігати файли не тільки оригінального розміру, який є найбільшим, але і файли з меншою кількістю точок (пікселів). Дана настройка важлива для економії місця. Дуже часто знімки можуть нести надлишкову інформацію. Надлишкова інформація - це пікселі, які не несуть корисної інформації. Наприклад такі пікселі є цифровим шумом, з'являються через неякісну оптики. При використанні меншого формату можна нічого не втратити.
Все те ж саме стосується не тільки Nikon D40 , Яку я використовував як приклад, але й інших цифрових камер.
Важливе зауваження: коли ми використовуємо великий (максимальний) розмір зображення JPEG, то кодується вся інформація зі всієї матриці фотоапарата. Коли ми використовуємо менший розмір знімка, то сама камера все одно робить знімок за допомогою всієї матриці, тобто, за допомогою всіх доступних пікселів. Тільки після цього знімок зменшується програмно до вказаного значення. Це пов'язано зі стандартним циклом роботи АЦП камери. Не варто думати, що якщо знімати в маленькому розмірі знімка, то будуть працювати тільки окремі пікселі на камері, і при цьому можна буде отримати збільшення дифракційного порога або економії заряду батареї.
Важливе зауваження: практично завжди можна комбінувати якість знімка і його розмір. Таким чином можна підбирати будь-які варіанти якості кінцевого зображення. Також, всякі маніпуляції з розміром і якістю JPEG дуже сильно впливають на можливості буфера кадрів сучасних камер. Чим менше розмір і чим менше якість - тим більше фотографій може помістити в буфер кадрів при серійній зйомці. Для прикладу, в форматі JPEG L, Fine Nikon D40 може помістити тільки 7 знімків, а M, Norm цілих 17. Власне, заради маніпуляцій з буфером я і затівав цю статтю.
Алгоритми, за якими відбувається стиснення від розміру L до М або S дуже складні і їх існує величезна безліч. Наприклад, зменшення знімка можна виконати і на комп'ютері, для цього програма обробник може використовувати такі алгоритми зменшення розміру: LancZos3, Bell, Bicubic, Bilinear, BSplite, FastLinear, LancZos2, Linear, Mitchell, Nearest, Triangle і купу інших. Використовуючи формат JPEG ми з чистою фотографії потрапляємо в абстрактне математичне поле матриць, векторів і розумом незбагненних тонкощів.
720Х479. Файл важить 193 kb
720Х479
640Х426. Файл важить 159 kb
640Х426
320Х213. Файл важить 51,2 kb
320Х213
160Х106. Файл важить 24,1kb
640Х426
Дуже часто величезного розміру зображення, наприклад, 30-ти мегапіксельні знімки на мобільні телефони, займають величезний обсяг, а весь потенціал 30-ти мегапікселів просто не використовується. Тому можна сміливо ставити більш маленький розмір знімків. Від себе додам, що для зручного перегляду фотографій навіть на найдорожчих моніторах з матрицею 2560 × 1600 досить близько 4-х мегапіксельного знімка, а для друку форматом 10Х15 взагалі потрібно всього близько 1 мегапікселя. Згадайте, коли в останній раз друкували фотографії, або збільшували знімок на комп'ютері? З особистого досвіду скажу, що величезна кількість пікселів сучасних камер потрібні тільки для серйозного заняття фотографією. Для звичайних побутових завдань я не бачу потреби ганятися за кількістю мегапікселів , А в камері з великою їх кількістю можна зменшувати розмір вихідного знімка без серйозної втрати в якості.
Деякі сучасні камери мають деякі додаткові настройки JPEG. Наприклад, просунуті камери Nikon, такі як Nikon D700 , D800 мають настройку пріоритету якості / розміру JPEG. Ця установка дозволяє вказати алгоритму на те, що важливіше при обробці зображення - величина файлу або якість.
Важливо: для найкращої якості знімків я, все ж, рекомендую використовувати найбільший розмір знімків з найкращою якістю. Наприклад, для камер Nikon це L, Fine, пріоритет якості. А ось повністю весь потенціал і точність передачу зображення з матриці на карту пам'яті може реалізувати тільки формат RAW. Але навіть RAW файли в деяких камерах проходять через спеціальну 'обтискача' для зменшення їх розмірів, тут потрібно бути гранично обережним.
висновки:
Формат JPEG - дуже цікава методологія збереження графічних файлів. Раджу поексперементувати з різною якістю і розміром зображення на своїх камерах, дуже часто можна серйозно економити місце отримуючи хороший результат на фотографіях.
Не забудьте натиснути на кнопки ↓ ↓ ↓ соцмереж ↓ ↓ ↓ - це важливо для мене. Дякуємо за увагу. Аркадій Шаповал.
Згадайте, коли в останній раз друкували фотографії, або збільшували знімок на комп'ютері?