JPEG Görseli (.jpg)

ISO/IEC Standart

JPEG, insan gözünün renk bilgisine kıyasla parlaklığa karşı daha yüksek hassasiyetinden yararlanarak dijital fotoğrafçılık ve web görselleri için en yaygın kullanılan kayıplı sıkıştırma standardıdır.

PNG biçimini JPG biçimine dönüştür

Tarayıcında PNG biçimini JPG biçimine ücretsiz dönüştür. Dosyaları cihazında anında dönüştür.

JPG dosyasını çevrimiçi sıkıştır

Özel - dosyalar cihazınızdan asla ayrılmaz

İncele ve Meta Veriler

İşletim sistemleri ve dosya çözümleyicileri, JPG dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

Dosyaları buraya seç veya bırak

Özel - dosyalar cihazınızdan asla ayrılmaz

veya yapıştır Ctrl+V
Sıfır Ağ Aktarımı Gizlilik Garantisi: Harici sunuculara 0 bayt yüklendi. Tüm işlemler tarayıcındaki korumalı alanda (sandbox) yerel olarak gerçekleştirildi.

Bayt düzeyinde başlık imzası (sihirli baytlar)

İşletim sistemleri ve dosya çözümleyicileri, JPG dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

HEX İMZASI (OFSET 0):

FF D8 FF

ASCII GÖSTERİMİ: ÿØÿ

Standartlaştırma: ISO/IEC 10918-1 / ITU-T T.81

Teknik Özellikler

Kapsayıcı mimarisiJFIF veya EXIF üstbilgileri içine sarılmış işaretçi sınırlı ikili akış (0xFF ön eki)
SıkıştırmaKayıplı Ayrık Kosinüs Dönüşümü (DCT) + Çalışma-uzunluğu ve Huffman entropi kodlaması
Bayt Düzeni (Endianness)İşaretçi uzunlukları ve niceleme tabloları için Büyük Uçlu (Big-Endian); Exif, Little-Endian (II) veya Big-Endian (MM) olabilir
Renk UzaylarısRGB, Adobe RGB, CMYK, Y'CbCr, Grayscale
Kanallar ve YapıKanal başına 8 bit (24 bit Truecolor) veya 8 bit Gri Tonlamalı
Maksimum Boyutlar65.535 x 65.535 piksel (2 baytlık işaretsiz tamsayılar)
ŞeffaflıkYok (Yalnızca opak; alfa kanalı desteği yok)
Akış ve Aşamalı İşlemeAşamalı JPEG kodlaması, düşük çözünürlükten yüksek çözünürlüğe birden çok spektral geçiş depolar

Teknik karşılaştırma matrisi: JPG ve rakipleri

Teknik NitelikJPG (Güncel)WebPAVIFPNG
Sıkıştırma ParadigmasıKayıplı DCT + Huffman kodlamasıKayıplı (VP8) ve KayıpsızKayıplı (AV1) ve KayıpsızKayıpsız Deflate
Alfa SaydamlığıAlfa kanalı desteği yok (her zaman opak)8 bit alfa saydamlığı8 bit / 10 bit / 12 bit alfaTam 8 bit / 16 bit alfa
Donanım Kod ÇözmeÖzel JPEG donanım kod çözme desteği çipe ve aygıta bağlıdır.Modern SoC'lerde yaygın donanım kod çözmeModern GPU'larda hızla genişleyen donanım kod çözmeCPU tabanlı hızlı kod çözme
Sıkıştırma VerimliliğiFotoğraflar için iyi bir temelJPEG’den daha küçük olabilir; sonuç görüntüye ve kodlayıcıya göre değişirJPEG’den daha küçük olabilir; sonuç görüntüye ve kodlayıcıya göre değişirFotoğrafik içerik için verimsiz
Renk Bit DerinliğiKanal başına standart 8 bit (24 bit Truecolor)Kanal başına 8 bit10 bit ve 12 bit HDR geniş renk gamıKanal başına 8 bit ve 16 bit

Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu

Görüntü görüntüleyicide 'Premature end of JPEG file' hatası gösteriliyor veya fotoğrafın alt kısmı düz gri ya da renkli şeritler içeriyor.

Kök Neden: 0xFFD9 (EOI) sonlandırma işaretçisini ve görüntü tarama yükünü eksik içeren kesintili indirme veya eksik depolama yazma işlemi.

Kurtarma: Kod çözücülerin fotoğrafın bozulmamış üst kısmını gösterebilmesi için kesilmiş akışın sonuna 0xFFD9 işaretçisini ekle.

Görüntü renkleri büyük ölçüde kaymış, ters dönmüş veya psikedelik görünüyor.

Kök Neden: CMYK renk uzayı üstbilgisi ters çevrilmiş veya gömülü ICC profili geçersiz.

Kurtarma: ImageMagick ile renk uzayını CMYK'dan sRGB'ye dönüştür ('magick broken.jpg -colorspace sRGB fixed.jpg').

Dosya açılmıyor ve 'Invalid marker found' hatası bildiriyor.

Kök Neden: Niceleme Tablosu (DQT 0xFFDB) veya Huffman Tablosu (DHT 0xFFC4) üstbilgileri içinde bit bozulması.

Kurtarma: Hasarlı üst bilgi işaretçilerini sağlam bir JPEG'den alınan standart temel JFIF Huffman ve niceleme tablolarıyla değiştir.

Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri

JPEG güvenliği öncelikle meta veri gizliliği sızıntılarını (EXIF) ve eski C kod çözücülerindeki (libjpeg) arabellek taşmalarını içerir.

Bilinen Saldırı Vektörleri

  • Hassas meta veri ifşası: GPS koordinatları, kamera seri numaraları ve küçük resim önizlemeleri içeren soyulmamış EXIF üstbilgileri.
  • Eski libjpeg ayrıştırmasındaki arabellek aşım okumaları ve tamsayı taşmaları, yeniden başlatma işaretçilerini (RST) veya aşamalı tarama betiklerini bozar.
  • JPEG üstbilgilerini yürütülebilir ZIP veya RAR arşivleriyle birleştiren poliglot dosyalar.

Savunmaya yönelik en iyi uygulamalar: Kullanıcıların gizliliğini korumak için fotoğrafları yayımlarken EXIF ve GPS konum meta verilerini her zaman kaldır. Modern, bellek açısından güvenli kod çözücüler (Rust'taki image-rs gibi) veya yalıtılmış WebAssembly kod çözücüleri kullan.

Tarihsel kökenler ve önemli dönüm noktaları

1998JFIF ve EXIF konteyner standartları dijital kamera hakimiyetini kurar.
1992JPEG spesifikasyonu ISO/IEC 10918-1 olarak onaylandı.
1986Joint Photographic Experts Group, ISO ve CCITT altında kuruldu.

Temel Avantajlar ve Artılar

  • JPEG kod çözme, görüntü yazılımları ve aygıtlarında yaygın olarak desteklenir, ancak uyumluluk aygıta ve uygulamaya göre değişir.
  • Fotoğrafik sürekli tonlar için mükemmel sıkıştırma oranları (10:1 ila 20:1).
  • Aşamalı oluşturma yeteneğine sahip küçük yük boyutu.

Teknik Kısıtlamalar ve Eksiler

  • Kayıplı sıkıştırma, keskin kenarlar boyunca sıkıştırma bozulmalarına (halkalanma ve bloklaşma) neden olur.
  • Alfa kanalı desteği yok.
  • Bir dosya her açıldığında, düzenlendiğinde ve yeniden kaydedildiğinde nesil kaybı oluşur.

İlginç Teknik Bilgiler

  • JPEG sıkıştırmasını geliştirmek için kullanılan klasik 'Lenna' test resmi, Playboy dergisinin Kasım 1972 sayısından taranmıştır.
  • JPEG 4:2:0 alt örneklemesi, algılanabilir bozulmaya neredeyse hiç yol açmadan hem yatay hem de dikey olarak renk çözünürlüğünü yarıya indirir.
  • Her standart JPEG, 0xFFD8 işaretçisiyle (Görüntünün Başlangıcı) başlar ve 0xFFD9 ile (Görüntünün Sonu) biter.

Sıkça Sorulan Teknik Sorular

JPEG dosyası birden çok kez kaydedildiğinde görüntü kalitesi neden düşer?

JPEG, kayıplı ve geri döndürülemez bir sıkıştırma biçimidir. Bir JPEG dosyasının kodunu her çözüp yeniden kaydettiğinde, DCT niceleme adımı yüksek frekanslı uzamsal ayrıntıları atar ve 8x8 piksel bloklarını yeniden yaklaşıklar. Bunun sonucunda her kaydetmede biriken kalite kaybı oluşur.

Aşamalı JPEG nedir ve neden yararlıdır?

Standart temel JPEG, görüntüyü yukarıdan aşağıya satır satır çözer. Aşamalı JPEG, görüntü verilerini birden fazla spektral geçişte kodlar; böylece tarayıcılar tüm görüntünün bulanık, düşük çözünürlüklü bir önizlemesini anında gösterebilir ve baytlar indirildikçe görüntüyü aşamalı olarak netleştirebilir.

Renk Alt Örneklemesi nedir (4:2:0 ile 4:4:4)?

İnsan retinasında koni hücrelerinden (renk) daha fazla çubuk hücre (parlaklık/aydınlık) bulunur. JPEG, sıkıştırmadan önce ham verilerin %50'sini algılanamaz bir kayıpla atarak, tam parlaklık çözünürlüğünü (Y) korurken renk çözünürlüğünü (Cb, Cr) yatay ve dikey olarak yarıya indirerek (4:2:0) bundan yararlanır.

Bir JPEG görüntüsünün şeffaf arka planı olabilir mi?

Hayır. Standart JPEG belirtiminde alfa kanalı yoktur. Saydamlık gerekiyorsa görüntüyü WebP, AVIF veya PNG'ye dönüştürmelisin.

İlgili JPG Dönüşüm Çiftleri

PNG -> JPG

PNG tarama görüntülerini JPEG formatına dönüştürmek, kayıplı sıkıştırma uygulayarak dosya boyutunu küçültür; bu da görsellerin web sitelerinde daha hızlı yüklenmesini ve daha az depolama alanı kaplamasını sağlar.

JPG -> PNG

Kayıplı JPEG raster görselini kayıpsız PNG raster görseline dönüştürerek sonraki kayıplı düzenleme aşamalarında kalite kaybını önle ve alfa kanalı saydamlığı desteği ekle.

JPG -> WEBP

JPEG görüntülerini WebP’ye dönüştürmek benzer görsel kalitesinde dosya boyutunu azaltabilir; sonuç görüntü içeriğine ve kodlama ayarlarına göre değişir.

WEBP -> JPG

WebP’yi JPEG’e dönüştürmek, durağan bir görüntünün WebP’yi desteklemeyen yazılımlarda kullanılmasını kolaylaştırabilir. JPEG saydamlığı veya animasyonu korumaz.

HEIC -> JPG

HEIC fotoğrafları JPEG görüntülerine dönüştürmek, Apple'ın varsayılan kamera biçimini eski yazılımlarda ve web tarayıcılarında evrensel olarak okunabilen raster dosyalara çevirir.

AVIF -> JPG

AVIF görüntülerini JPEG’e dönüştürmek, AV1 Image File Format’ı desteklemeyen eski yazılımlarda kullanımı kolaylaştırabilir.

JPG -> AVIF

Eski bir JPEG görselini AVIF görseline dönüştürmek, gelişmiş modern video kodlama teknolojisi sayesinde yüksek görsel sadakati korurken dosya boyutunu önemli ölçüde küçültür.

PSD -> JPG

Ağır Adobe Photoshop PSD kompozisyonlarını, kolayca görüntülenebilen kompakt JPEG fotoğraflarına dönüştür.