JPEG kalite değerini 100'e yakın tutmak "daha iyi" sonuç verecek gibi görünür; ama bu hem dosya boyutunu gereksiz yere şişirir hem de görsel kaliteye neredeyse hiç katkı sağlamaz. 80-85 aralığının sektörde yaygın kabul gören bir eşik olmasının sebebi estetik tercih değil, sıkıştırma algoritmasının doğrusal olmayan davranışıdır.
Kalite skalası, çoğu kullanıcının sandığı gibi basit bir yüzde değeri değildir. Bu sayı, encoder'ın hangi quantization table'ı uygulayacağını belirleyen bir parametredir. Algoritmanın nasıl çalıştığını anlamadan kalite değerini sezgisel seçmek, genellikle ya aşırı büyük dosyalar ya da gereksiz kalite kaybı üretir.
Kalite sayısının altındaki yapı: DCT ve quantization
JPEG, görüntüyü 8x8 piksellik bloklara ayırır ve her bloğa Discrete Cosine Transform (DCT) uygular. Bu dönüşüm piksel değerlerini frekans bileşenlerine çevirir: düşük frekanslı bileşenler renk geçişlerini, yüksek frekanslı bileşenler ince kenarları ve detayları temsil eder.
Sıkıştırma, frekans bileşenlerinin bir quantization matrix'e bölünmesiyle gerçekleşir. Kalite parametresi bu matrix'in değerlerini doğrudan etkiler: düşük kalite, matris değerlerini büyütür; yüksek frekanslı bilgiler yuvarlanır ve atılır. Yüksek kalite ise değerleri küçülterek daha fazla frekans bilgisinin korunmasını sağlar. Kalite 100 sıkıştırmayı tamamen kapatmaz; yalnızca quantization değerlerini minimuma çeker. Bu yüzden lossless değildir.
Sayı, algıyı değil algoritmayı kontrol eder.
İnsan görsel algısı yüksek frekanslı ince detaylara düşük frekanslı renk geçişlere kıyasla çok daha az duyarlıdır. Yüksek frekans bilgisini önemli ölçüde atsanız bile gözle fark edilebilir bir bozulma oluşmaz. Kalite değeri tam da bu algı eşiğini belirliyor; sayının anlamı budur.
%80-85 aralığının sıkıştırma eğrisindeki yeri
JPEG kalite skalasında dosya boyutu ile görsel kalite arasındaki ilişki doğrusal değil. Kaliteyi 100'den 85'e düşürdüğünüzde dosya boyutu genellikle %40-60 oranında küçülür; ama aynı resmi yüksek çözünürlükte incelemediğiniz sürece fark çıplak gözle neredeyse görünmez. Kaliteyi 85'ten 75'e düşürdüğünüzde ek boyut kazancı %15-20 dolayında kalır, bu kez bozulma gözle görülür; düz renk geçişlerinde ve homojen yüzeylerde blok artifaktları belirginleşir.
Sıkıştırma eğrisindeki bu "elbow" noktası, görsel içerik tipine bağlı olmakla birlikte genellikle 75-87 aralığına düşer. Bu eşiğin altında boyut kazancı azalırken kalite kaybı hızlanır; üstünde boyut hızla büyürken görsel fark giderek önemsizleşir.
Kalite 85'te üretilen bir JPEG'i kalite 92 ile karşılaştırırsanız piksel farklarını ancak tam zoom'da veya fark matrisi hesaplayarak görebilirsiniz; sayfada render edilmiş halde çoğu kullanıcı iki versiyon arasındaki ayrımı tespit edemez. Buna karşın dosya boyutu %25-35 büyür.
80-85 aralığı bu denge noktasından çıkıyor. Dosyayı görsel boyutu ve kalitesiyle birlikte optimize etmek istediğinizde bu aralık, geniş içerik tipleri için güvenli bir başlangıç noktası sağlar.
İçerik tipine göre kalite aralığı seçimi
80-85 evrensel bir kural değil, genel amaçlı başlangıç noktası. Gerçek kalite değeri içerik tipine, kullanım bağlamına ve görüntüleme boyutuna göre değişir.
Ürün fotoğraflarında, özellikle tekstil veya elektronik gibi ince doku detayının önemli olduğu kategorilerde, 85-90 aralığı tercih edilir. Zoom özelliği olan e-ticaret sayfalarında 90'ın altına inmek riskli; renk banding ve blok artifakt'ları yüksek büyütme oranında belirginleşir.
Blog içi görseller ve makalelere yerleştirilen editorial fotoğraflar için 75-82 yeterlidir. Bu görseller genellikle sayfa genişliğinin %60-70'ine sığdırılmış halde görüntülenir; o boyuttaki ekranda yüksek kalite farkını kimse ayırt edemez. kayıplı sıkıştırmanın ne zaman sorun yarattığını anlamak bu tür görsellerde doğru eşiği belirlemeyi kolaylaştırır.
Hero görseller farklı bir kategori. Sayfanın ilk açılışında tam genişlikte görünen ve LCP metrikiyle doğrudan ilişkili bu görseller için 82-87 aralığı makul bir denge kurar. Daha yüksek kalite, zaten yavaş olan bir LCP'yi daha da kötüleştirir; daha düşük kalite ise sayfa açılışındaki ilk izlenimi bozar.
Küçük thumbnail'lar, önizleme kartları ve liste sayfalarındaki görseller için 60-72 bile kabul edilebilir. 100x100 piksel boyutundaki bir önizlemede kalite 85 ile kalite 65 arasındaki fark insan gözüyle tespit edilemez. Bu boyutta fazla kalite yalnızca disk ve bant genişliği israfı üretir.
Küçük görselde yüksek kalite savurganlıktır.
Aynı kalite değeri farklı encoder'larda farklı sonuç verir
Bu ayrımı çoğu kaynak atlıyor.
JPEG encoder'ları aynı "kalite 80" değerini farklı quantization table'larla yorumlar. libjpeg'de kalite 80, MozJPEG'deki kalite 80 ile aynı çıktıyı vermez. MozJPEG, libjpeg'in quantization table'larını daha agresif optimize ederek aynı görsel kaliteyi ortalama %20-30 daha küçük dosyayla elde edebilir. Squoosh, Cloudflare Images veya modern CDN'lerin görsel optimizasyon pipeline'ları genellikle MozJPEG ya da türevi bir encoder kullanır.
Photoshop'ta kalite 80 ile kaydettiğiniz bir dosyayı MozJPEG tabanlı bir araçla kalite 75'te encode ettiğinizde boyut benzer, görsel kalite eşdeğer, hatta bazı durumlarda daha iyi çıkabilir. Encoder'ı bilmeden yalnızca kalite değerine bakarak karşılaştırma yapmak yanıltıcı sonuç verir.
ImageMagick'in varsayılan kalite skalası libjpeg'e dayalıdır ama bazı versiyonlarda chroma subsampling davranışı farklılaşır. Kalite 80 altında ImageMagick chroma kanallarını 4:2:0 olarak subsample eder; bu kırmızı veya turuncu tonlarda banding'e neden olabilir. Kalite 80 üzerinde ise 4:4:4 olarak korur. Renk doygunluğu yüksek ürün görselleri için bu eşik önemlidir.
ffmpeg ile video thumbnail veya frame export yapıyorsanız, kalite parametresi ters çalışır: ffmpeg'de düşük sayı yüksek kalite anlamına gelir (kalite 2-5 yüksek, 31 en düşük). Bu karışıklık çok sık hata kaynağı olur ve web standartlarıyla karıştırıldığında gereksiz yere büyük dosyalar üretilir. format dönüşümü ve encoder seçimi konusundaki ayrımları göz önünde bulundurmak, özellikle farklı pipeline'ları bir arada kullanan ekipler için kritik.
Progressive JPEG: kalite değerine ek bir fayda katmanı
Baseline JPEG satırları yukarıdan aşağıya sırayla decode eder. Progressive JPEG ise görüntüyü önce düşük frekanslı genel bir taramayla sunar, sonraki taramalarda detayları tamamlar. Kullanıcı tam yüklemeyi beklemeden sayfanın genel görüntüsünü görür; yavaş bağlantılarda algısal hız avantajı sağlar.
Progressive encoding, aynı kalite değerinde üretilen baseline JPEG'e kıyasla dosyayı hafifçe büyütür; 40 KB'lık bir görselde bu fark 1-3 KB dolayındadır. Büyük görsellerde (200 KB üzeri) durum çoğu zaman tersine döner ve progressive versiyon daha küçük çıkar. Küçük ikonlar ve thumbnail'lar için progressive encoding anlamlı fayda sağlamaz; yükleme zaten anlık tamamlanır.
LCP metriği açısından progressive JPEG avantajlı olabilir: ilk taramadan elde edilen düşük kaliteli önizleme, tarayıcının görseli "görünür" kabul etmesini sağlayabilir. Chrome'un LCP hesaplamasında progressive taramayı nasıl saydığı sürümden sürüme farklılık göstermiş olmakla birlikte, genel eğilim olumlu. sayfa hız testi aracıyla hangi görselin LCP'ye yük bindirdiğini tespit etmek, bu kararda daha bilinçli bir başlangıç noktası sunar.
Kalite değeri seçimi tek başına bir kural değil; encoder seçimiyle, içerik tipiyle, kullanım bağlamıyla ve progressive encoding kararıyla birlikte anlam kazanan bir parametre. 80-85 aralığı, bu değişkenlerin tamamını bilmeden verilebilecek en makul başlangıç noktasıdır; oradan içerik tipine göre kalibre edilir.
EXIF ve metadata: kalite değerinden bağımsız dosya büyüklüğü
JPEG sıkıştırmasında kalite parametresine odaklanmak doğru; ama aynı dosyanın içinde kalite değeriyle ilgisi olmayan bir yük daha vardır. EXIF metadata bloğu, fotoğraf makinesinin kaydettiği GPS koordinatları, çekim zamanı, kamera modeli, objektif bilgisi, pozlama değerleri ve gömülü küçük thumbnail'dan oluşur. Lightroom veya Capture One gibi araçlarla işlenmiş RAW çıkışlarında buna yazılım geçmişi ve XMP verisi de eklenir.
Fotoğraf makinesinden doğrudan alınan bir JPEG'in EXIF bloğu 20-80 KB arasında yer kaplar. Profesyonel fotoğrafçılık yazılımlarıyla işlenmiş ve çok katmanlı metadata taşıyan dosyalarda bu rakam 150-200 KB'a çıkabilir. Kalite 85'te kaydettiğiniz bir ürün fotoğrafı 280 KB tutuyorsa, metadata'sız versiyonu 220 KB'ın altına düşebilir; kalite değerini 80'e çekmeden aynı boyut kazancını elde edebilirsiniz.
Web için optimize eden çoğu araç metadata'yı otomatik olarak siler. Squoosh, ImageOptim ve modern CDN pipeline'larının büyük çoğunluğu EXIF bloğunu varsayılan olarak çıkarır. Ancak Photoshop'ta "Save for Web" yerine "Export As" veya "Save As" kullanılırsa metadata korunabilir; hangi kayıt yolunun ne yaptığı sürümden sürüme farklılık gösterir. Ayrıca ICC renk profili ayrı bir değerlendirmeyi hak eder: sRGB profili birkaç KB yer kaplıyor olsa da tarayıcı renk yönetimi için gereklidir; silmek renk kaymasına neden olabilir. Gömülü Adobe RGB veya ProPhoto RGB profilleri ise web'de anlamsızdır ve silinmesi gerekir.
Adobe RGB profili web'de gereksiz yüktür.
görsel dosya boyutunu düşürmek için kalite değerini agresif düşürmeden önce metadata durumunu kontrol etmek iyi bir başlangıç noktası. Kalite 85'te 300 KB tutan bir fotoğraf, metadata temizlendikten sonra 230 KB'a iniyorsa, kalite değerini 78'e çekmek yerine metadata'yı kaldırmak hem boyut hem görsel kalite açısından daha iyi bir karar olur.