EnglishРусскийTürkçeDeutschFrançais Hakkında · RSS
WebInterface.org
WebInterface.org

Çizim, baskı, fotoğraf ve bilgisayarın ürettiği resimler üzerine notlar.

Giriş · Bilgisayar grafiği · Durağan bir resmi sıkıştırmak

Durağan bir resmi sıkıştırmak

Sıkıştırılmamış renkli bir resim bir örnek ızgarasıdır ve ızgara büyüktür. Gregory K. Wallace, JPEG önerisini yazarken, televizyon çözünürlüğünde sayısallaştırılmış renkli bir kareyi bir milyon bayt dolayında, 35 mm çözünürlükte bir kareyi ise bunun yaklaşık on katı sayıyordu. Çekmek ucuzlayabilir. Dosya hâlâ saklamak ya da göndermek için ağır kalır. Bu baytlar pikseldir. Modelden piksele içlerinden birini modelden ekrana kadar izler. Sıkıştırma sonraki kesimdir: aynı örnekler diskte ve hatta daha az yer tutsun diye istenir.

Bu kesimi iki aile yapar. Kayıpsız yöntem her örneği geri koyar. Kayıplı yöntem koymaz. Arşivler, tıbbi görüntüler, teknik çizimler, klip sanatı ve çizgi romanlar çoğunlukla kayıpsız kalır, çünkü değişmiş bir örnek artık başka bir olgudur. Bir fotoğraf biraz sadakat harcayıp sert küçülebilir. Fark görülemeyecek kadar küçükse sonuca görsel olarak kayıpsız denir. Hızı daha da indirince hasar parmakla gösterilir: bloklar, kenar boyunca haleler, düzleşmiş renk.

Wallace 1991'de, zamanın tekniğini tipik bir resim için ham boyutun kabaca onda biri ile ellide biri arasına koyuyordu. İzleyici bir değişim görmeyecekti. Kesir bir yasa değil, bir ayardır. Kodlayıcı, kullanıcıya bu takası seçtirmelidir.

Gözün vazgeçebildiği

Parlaklıktaki bir değişim, renkteki bir değişimden daha keskin görülür. Renk alt örneklemesi parlaklık ızgarasını tutar, renk örneklerinin bir kısmını ortalar ya da düpedüz atar. İkinci tasarruf renklerin çoğunu atar, kısa bir liste bırakır. GIF ve PNG başlıkta bir palet taşıyabilir, çoğu kez 256 renk. Piksel o zaman kendi kırmızısını, yeşilini ve mavisini değil, listedeki bir indeksi saklar. Titreme, yuvarlama hatasını benek olarak dağıtır. Düzgün bir geçiş düz şeritlere düşmez. Blok paleti daha ileri gider: 4'e 4 bir yama yalnızca iki ya da dört renk alır. BTC, S3TC ve yakınları böyle çalışır. Sıkıştırılmış bir oyun dokusu bu yüzden yakından poster gibi, uzaktan düzgün durur.

Sekize sekiz

Gregory K. Wallace kazanan yöntemi The JPEG Still Picture Compression Standard yazısında anlattı. Communications of the ACM, Nisan 1991. Digital Equipment Corporation'da Joint Photographic Experts Group'un çağrıcısıydı. JPEG, ISO ile CCITT'nin ortak işiydi: sürekli tonlu durağan resimler, gri ve renkli. Haziran 1987'de grup on iki önerinin resimlerine baktı, üçünü tuttu. Ocak 1988'de ikinci ve daha sıkı bir izleme, 8'e 8 bloklarda uyarlamalı ayrık kosinüs dönüşümünü seçti. 1988'den 1990'a kadar ayrıntılar yazıldı, bir üreticinin dosyası bir başkasının makinesinde açılsın diye. Wallace yayımladığında Bölüm 1 komite taslağı oylamasındaydı: ISO/IEC CD 10918-1, Şubat 1991'de başladı. Aynı işin ITU-T metni olan Tavsiye T.81, Eylül 1992 tarihlidir.

Kosinüs dönüşümü komiteden eskidir. Nasir Ahmed, T. Natarajan ve K. R. Rao bunu 1974'te yayımladı. 8'e 8 bir blokta 64 örneğin yerine 64 katsayı koyar. Düzgün bir parça enerjisinin neredeyse tümünü ilk katsayılara, alçak frekanslara yığar. Nicemleme her katsayıyı tablodaki bir adıma böler ve yuvarlar. Kayıp buradadır. İzleyicinin en zor ayırt edeceği yüksek frekans katsayıları çoğu kez sıfıra yuvarlanır. Kalanlar zikzak okunur. Sıfırlar tek bir uzun kuyrukta toplanır. Huffman kodu bu koşuları yazar. David A. Huffman bu kodu 1952'de, Proceedings of the IRE'de yayımladı. Aritmetik kodlama, JPEG taslağının izin verdiği öteki entropi kodlayıcısıdır. Temel sıralı kodek Huffman kullanır.

Taban sıralı JPEG, tek bir 8'e 8 blok
AdımNe olur
Kaydırmaİşaretsiz örnekler işaretli olur, sıfır ortada durur
İleri DCT64 örnek, 64 kosinüs katsayısına döner
NicemlemeHer katsayı tablo adımına bölünür ve yuvarlanır
ZikzakKatsayılar, sıfırlar yığılacak biçimde yeniden dizilir
HuffmanSıfır koşuları ve kalan değerler kodlanır

Taban sıra tek bir taramadır, soldan sağa, yukarıdan aşağıya. Renk ikinci bir algoritma değildir. Her bileşen kendi gri resmi gibi sıkıştırılır. Kodlayıcı bir bileşeni bitirip sonrakine geçebilir ya da her bileşenden 8'e 8 blokları sırayla iç içe koyabilir. Dönüşümden önce, 0 ile 2P−1 aralığındaki örnekler işaretli değerlere kaydırılır. P, örnek başına bit sayısıdır.

Taslak üç yol daha belirtiyordu. Aşamalı kodlama katsayıları bir tamponda tutar ve birkaç tarama gönderir, önce kaba, sonra daha açık. Yavaş bir hat bunu ister: önce tanınan bir resim, gerisi beklerken. Kayıpsız kodlama her örneği geri verir ve daha az sıkıştırır. Hiyerarşik kodlama birden çok çözünürlük saklar. Küçük resim, büyüğü açmadan alınabilir.

Örnekleri geri koyan yöntemler

Akış uzunluğu kodlaması yinelenen bir değeri sayar, sayacı yanına yazar. PCX bunu olağan yöntem olarak kullanır. BMP, TGA ve TIFF de kullanabilir. Abraham Lempel, Jacob Ziv ve Terry Welch'in 1984'teki LZW'si, daha önce gördüğü dizgilerin bir sözlüğünü büyütür. 1987'de gelen GIF bu sözlükle sıkıştırır. TIFF de sıkıştırabilir. Phil Katz'ın yöntemi DEFLATE, Mayıs 1996'da RFC 1951 ile belirtildi. PNG'nin içindeki sıkıştırıcı odur. MNG ve TIFF de onu kullanır. PNG önce bir örneği komşularından kestirir, hatayı saklar. DEFLATE o hataları sıkıştırır. Hatalar, örneklerin kendisinden küçük ve daha tekdüzedir.

Faks sayfası, paylaşılan tek bir sıkıştırıcının bir makineyi sıradan kılabileceğinin eski kanıtıdır. 1980 tarihli CCITT Tavsiyesi T.4, Grup 3 faks yöntemidir. İki düzeyli izleri sıkıştırır: mürekkep ya da boş. Bir fotoğrafı sıkıştırmaz. Wallace JPEG'i bu sınıra karşı koydu. Birçok üretici için tek yöntem umudu aynıydı. Bu kez resmin grisi vardı.

Bloklardan sonra

JPEG 2000, 1997'den 2000'e hazırlandı. 8'e 8 kosinüs bloklarını bırakır. Kayıplı yol, Albert Cohen, Ingrid Daubechies ve Jean-Christophe Feauveau'nun 1992'deki CDF 9/7 dalgacığını kullanır. Kayıpsız yol, Didier Le Gall ile Ali J. Tabatabai'nin 1988'deki 5/3 dalgacığını kullanır. 2004'te bu aile, Motion JPEG 2000 dahil, sayısal sinemanın resim kodu olarak seçildi. Eski JPEG sert sıkılınca bir ızgara gösterir, çünkü dönüşüm kendi bloğunun kenarından ötesine bakmamıştır. Bir dalgacık hatayı başka türlü yayar. Bit bütçesi küçükken o da bilgi atar.

Tepe sinyal-gürültü oranı, örnek hatasını tek bir sayıyla puanlar. 1987 ve 1988'deki JPEG seçimleri bakarak yapıldı. Yöntem izleyiciden gizlenmişti. Bir dosya oranı kazanıp yine de sahte görünebilir. Ölçeklenebilir vektör grafikleri içindeki bir yol, 8'e 8 bir dönüşüme hiç girmedi. Düz resimler: pikseller, sprite'lar ve vektörler, bu şekil listesi ile bu algoritmaların küçülttüğü ızgara arasındaki ayrımdır.

Önceki: SVG sayfada, telefonda ve baskıda