JPEG Görseli (.jpg)
ISO/IEC StandartJPEG, 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:
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 FFASCII GÖSTERİMİ: ÿØÿ
Standartlaştırma: ISO/IEC 10918-1 / ITU-T T.81
Teknik Özellikler
| Kapsayıcı mimarisi | JFIF veya EXIF üstbilgileri içine sarılmış işaretçi sınırlı ikili akış (0xFF ön eki) |
| Sıkıştırma | Kayı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 Boyutlar | 65.535 x 65.535 piksel (2 baytlık işaretsiz tamsayılar) |
| Şeffaflık | Yok (Yalnızca opak; alfa kanalı desteği yok) |
| Akış ve Aşamalı İşleme | Aş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 Nitelik | JPG (Güncel) | WebP | AVIF | PNG |
|---|---|---|---|---|
| Sıkıştırma Paradigması | Kayıplı DCT + Huffman kodlaması | Kayıplı (VP8) ve Kayıpsız | Kayıplı (AV1) ve Kayıpsız | Kayıpsız Deflate |
| Alfa Saydamlığı | Alfa kanalı desteği yok (her zaman opak) | 8 bit alfa saydamlığı | 8 bit / 10 bit / 12 bit alfa | Tam 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 çözme | Modern GPU'larda hızla genişleyen donanım kod çözme | CPU tabanlı hızlı kod çözme |
| Sıkıştırma Verimliliği | Fotoğraflar için iyi bir temel | JPEG’den daha küçük olabilir; sonuç görüntüye ve kodlayıcıya göre değişir | JPEG’den daha küçük olabilir; sonuç görüntüye ve kodlayıcıya göre değişir | Fotoğrafik içerik için verimsiz |
| Renk Bit Derinliği | Kanal başına standart 8 bit (24 bit Truecolor) | Kanal başına 8 bit | 10 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ı
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 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.
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.
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’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 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 görüntülerini JPEG’e dönüştürmek, AV1 Image File Format’ı desteklemeyen eski yazılımlarda kullanımı kolaylaştırabilir.
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.
Ağır Adobe Photoshop PSD kompozisyonlarını, kolayca görüntülenebilen kompakt JPEG fotoğraflarına dönüştür.