WEBP, JPG'den Nasıl Daha Küçük Olabiliyor?
4 dk okuma
Aynı görüntü, daha az bayt: nasıl?
Bir fotoğrafı JPG ve WEBP olarak kaydettiğinizde ekranda çoğu zaman aynı görüntüyü görürsünüz, ama WEBP dosyası genellikle belirgin şekilde küçüktür. Bu, sihir değil; yirmi yılı aşkın bir süre içinde gelişen sıkıştırma tekniklerinin birikimidir.
Bu yazıda WEBP'nin bu avantajı nereden aldığını, JPG'nin hangi tasarım kararları yüzünden geride kaldığını ve bunun pratikte ne anlama geldiğini anlatıyoruz.
Önce JPG nasıl çalışıyor?
JPG, 1990'ların başında tasarlandı ve o dönemin işlemci gücüne uygun, görece basit bir yaklaşım benimsedi.
Görsel önce parlaklık ve renk bileşenlerine ayrılır. İnsan gözü parlaklık değişimlerine renk değişimlerinden daha duyarlı olduğu için renk bilgisi genellikle yarı çözünürlükte saklanır — buna renk alt örneklemesi denir ve ilk bilgi kaybı burada olur.
Ardından görsel 8x8 piksellik sabit bloklara bölünür. Her blok frekans bileşenlerine ayrıştırılır: blok içindeki yavaş renk geçişleri düşük frekans, keskin kenarlar yüksek frekans olarak temsil edilir. Sıkıştırma aşamasında yüksek frekans bileşenleri agresif biçimde yuvarlanır, çünkü göz onları en az fark eder.
Bu yaklaşımın iki temel sınırı var. Birincisi blok boyutu sabittir — düz bir gökyüzü de, karmaşık bir yaprak dokusu da aynı 8x8 kalıba sokulur. İkincisi her blok kendi başına, komşularından bağımsız kodlanır.
WEBP ne yapıyor farklı?
WEBP, video sıkıştırma alanında geliştirilen tekniklerin durağan görsele uyarlanmasıyla ortaya çıktı. Getirdiği başlıca yenilikler şunlar:
Blok tahmini. WEBP bir bloğu kodlarken, o bloğun komşularına bakar ve içeriğini tahmin etmeye çalışır. Bir gökyüzü bölgesinde üstteki bloğa çok benzeyen bir blok varsa, WEBP tüm bloğu baştan kodlamak yerine "üstteki bloğa benziyor, şu kadar farkla" diyebilir. Sadece bu farkı saklamak, tüm bloğu saklamaktan çok daha az yer tutar. JPG'de böyle bir mekanizma yoktur; her blok sıfırdan kodlanır.
Değişken blok boyutu. WEBP, görselin farklı bölgelerinde farklı boyutta bloklar kullanabilir. Düz ve tekdüze alanlarda büyük bloklar kullanarak az sayıda veriyle geniş alan kaplar; detaylı ve karmaşık bölgelerde küçük bloklara inerek hassasiyeti korur. JPG'nin sabit 8x8 yapısı bu esnekliği sunmaz.
Daha verimli entropi kodlaması. Sıkıştırmanın son aşamasında elde edilen sayılar bir kez daha, kayıpsız olarak paketlenir. WEBP bu aşamada JPG'nin kullandığından daha gelişmiş bir yöntem kullanır ve aynı veriden biraz daha fazla yer kazanır.
Bu üç tekniğin birleşimi, aynı görsel kalitede daha az bayt anlamına gelir.
Kazanç neden görselden görsele değişiyor?
WEBP'nin avantajı içeriğe bağlıdır ve bunu anlamak beklentiyi doğru kurmak açısından önemlidir.
Blok tahmini, tekrar eden ve öngörülebilir yapıların bol olduğu görsellerde çok iyi çalışır. Geniş gökyüzü, düz stüdyo zemini, tekdüze duvar gibi alanlar içeren fotoğraflarda kazanç yüksek olur.
Buna karşılık her pikselin komşusundan bağımsız göründüğü, yoğun ve düzensiz dokulu görsellerde — örneğin sık yapraklı bir ağaç kütlesi veya gürültülü, yüksek ISO'da çekilmiş bir kare — tahmin mekanizması daha az işe yarar ve kazanç düşer.
Çok küçük boyutlu görsellerde ise başka bir etken devreye girer: her dosyanın taşıdığı sabit başlık bilgisi, toplam boyut içinde görece büyük bir pay tutar ve format avantajını gölgeleyebilir.
Şeffaflık ve animasyon: sadece boyut değil
WEBP'nin JPG karşısındaki üstünlüğü yalnızca boyutla sınırlı değildir. WEBP alfa kanalını destekler, yani şeffaf arka planlı görselleri saklayabilir — JPG'de bu tamamen imkânsızdır. Ayrıca WEBP hem kayıplı hem kayıpsız modda çalışabilir; JPG yalnızca kayıplıdır.
Bu, WEBP'yi tek başına PNG'nin ve JPG'nin ayrı ayrı çözdüğü sorunları çözebilen bir format haline getirir. Şeffaf bir logo için kayıpsız WEBP, bir fotoğraf için kayıplı WEBP kullanabilirsiniz.
WEBP animasyonu da destekler ve bu alanda GIF'e göre çok daha verimlidir; GIF'in 256 renk sınırı ve ilkel sıkıştırması karşısında WEBP tam renk ve modern kodlama sunar.
Pratikte ne yapmalı
Elinizdeki JPG arşivini WEBP'ye çevirmek anlamlı bir kazanç sağlar, ama bir sınır vardır: kaynağınız zaten kayıplı olduğu için WEBP'nin teorik potansiyelinin tamamına ulaşamazsınız. Orijinal ham dosyalara erişiminiz varsa, doğrudan onlardan WEBP üretmek daha iyi sonuç verir.
Dönüşüm yaparken kalite ayarını körlemesine seçmeyin. Birkaç temsili görselle deneyin, sonucu gerçek boyutta inceleyin ve gözle fark edemediğiniz en agresif ayarı benimseyin. Dosyalarınızı çevirmek için JPG'den WEBP'ye dönüştürme aracını kullanabilirsiniz.
Özetle
WEBP'nin boyut avantajı, komşu bloklardan tahmin yapabilmesi, blok boyutunu içeriğe göre değiştirebilmesi ve daha verimli bir son kodlama aşaması kullanmasından gelir. Bu kazanç gerçektir ama sabit bir oran değildir — içeriğe, boyuta ve kalite ayarına göre değişir. Boyutun yanı sıra şeffaflık ve kayıpsız mod desteği de WEBP'yi JPG'ye göre daha esnek bir format yapar.
Sıkça Sorulan Sorular
WEBP her görselde JPG'den küçük olur mu?
Genel eğilim bu yöndedir ama istisnasız bir kural değildir. Kazanç görselin içeriğine, boyutuna ve seçilen kalite ayarına göre değişir; bazı görsellerde fark belirgin, bazılarında oldukça küçük olur. Çok küçük boyutlu görsellerde WEBP'nin başlık bilgisi görece daha fazla yer kapladığı için avantaj kaybolabilir, hatta nadiren tersine dönebilir. Gerçek kazancı öğrenmenin tek kesin yolu kendi görsellerinizle deneyip sonuçları karşılaştırmaktır.
WEBP kayıpsız modda da JPG'den küçük mü?
Bu karşılaştırma anlamlı değildir çünkü JPG'nin kayıpsız bir modu yoktur. Kayıpsız WEBP'nin doğru rakibi PNG'dir ve fotoğrafik olmayan içerikte kayıpsız WEBP genellikle PNG'den daha küçük dosya üretir. Fotoğraflarda ise kayıpsız mod her iki formatta da büyük dosyalar üretir; fotoğraf için kayıplı mod tercih edilir.
WEBP daha küçükse neden herkes hâlâ JPG kullanıyor?
En büyük sebep yaygınlık ve alışkanlıktır. JPG otuz yılı aşkın süredir her cihazda, her programda, her yerde çalışıyor; kameralardan mesajlaşma uygulamalarına kadar varsayılan format konumunda. WEBP ise modern tarayıcılarda tam desteklense de bazı eski masaüstü programlarında ve iş akışı araçlarında sorun çıkarabiliyor. Ayrıca mevcut arşivleri dönüştürmek emek gerektirdiği için birçok yerde JPG değişmeden kalıyor.
Aynı görseli JPG'den WEBP'ye çevirirsem tam kazancı elde eder miyim?
Tam olarak değil, çünkü kaynağınız zaten JPG sıkıştırmasından geçmiştir. WEBP'nin teorik avantajı, orijinal ham görüntüden doğrudan kodlama yapıldığında en yüksek düzeydedir. Bir JPG'yi WEBP'ye çevirdiğinizde, JPG'nin bıraktığı sıkıştırma izlerini de kodlamak zorunda kalır ve bu verimliliği bir miktar düşürür. Mümkünse orijinal ham dosyadan WEBP üretmek en iyi sonucu verir.
Bu konuyu JPG → WEBP Dönüştür aracıyla hemen deneyin.
JPG → WEBP Dönüştür aracını dene