Renk tayini - Color quantization
Olarak bilgisayar grafik , renk nicemleme ya da renkli görüntü niceleme olan niceleme uygulanan renkli alanlar ; genellikle yeni görüntünün orijinal görüntüye olabildiğince görsel olarak benzer olması amacıyla bir görüntüde kullanılan farklı renklerin sayısını azaltan bir işlemdir . Bit eşlemler üzerinde renk nicelemesi gerçekleştirmek için bilgisayar algoritmaları 1970'lerden beri incelenmektedir. Renk niceleme, genellikle bellek sınırlamaları nedeniyle yalnızca sınırlı sayıda rengi görüntüleyebilen aygıtlarda birçok renge sahip görüntüleri görüntülemek için kritiktir ve belirli görüntü türlerinin verimli bir şekilde sıkıştırılmasını sağlar.
"Renk nicemleme" adı öncelikle bilgisayar grafikleri araştırma literatüründe kullanılır; uygulamalarda, optimize edilmiş palet oluşturma , optimum palet oluşturma veya azalan renk derinliği gibi terimler kullanılır. Standart algoritmalar tarafından oluşturulan paletler mutlaka mümkün olan en iyi palet olmadığı için bunlardan bazıları yanıltıcıdır.
Algoritmalar
Çoğu standart teknik, renk nicelemesini, üç boyutlu uzayda noktaların kümelenme problemi olarak ele alır; burada noktalar, orijinal görüntüde bulunan renkleri ve üç eksen, üç renk kanalını temsil eder. Renk nicemlemesine neredeyse tüm üç boyutlu kümeleme algoritması uygulanabilir ve bunun tersi de geçerlidir. Kümeler yerleştirildikten sonra, o kümedeki tüm renklerin eşlendiği temsili rengi elde etmek için tipik olarak her kümedeki noktaların ortalaması alınır. Üç renk kanalları genellikle edilir yeşil, kırmızı ve mavi , ancak başka popüler seçimdir Lab renk uzayı içinde, Öklit mesafesi algısal farkla daha tutarlıdır.
1979'da Paul Heckbert tarafından icat edilen renk nicelemesine yönelik en popüler algoritma, medyan kesme algoritmasıdır. Bu şemadaki birçok varyasyon kullanımda. Bu zamandan önce, çoğu renk nicelemesi, temelde eşit boyutlu aralıklardan oluşan bir histogram oluşturan ve en çok noktayı içeren aralıklara renk atayan popülasyon algoritması veya popülasyon yöntemi kullanılarak yapıldı . Daha modern bir popüler yöntem , ilk olarak Gervautz ve Purgathofer tarafından tasarlanan ve Xerox PARC araştırmacısı Dan Bloomberg tarafından geliştirilen sekizli ağaçlarla kümelemedir .
|
Soldaki fotoğrafın renk alanı ve Photoshop tarafından üretilen 16 renk optimize edilmiş bir palet . Her palet girişinin Voronoi bölgeleri gösterilir.
|
Palet sabitse, işletim sistemlerinde kullanılanlar gibi gerçek zamanlı renk niceleme sistemlerinde sıklıkla olduğu gibi, renk niceleme genellikle "düz çizgi mesafesi" veya "en yakın renk" algoritması kullanılarak yapılır ve orijinal görüntüdeki renk ve en yakın palet girişini bulur; burada mesafe, üç boyutlu uzayda karşılık gelen iki nokta arasındaki mesafeyle belirlenir. Başka bir deyişle, renkler ve ise Öklid mesafesini en aza indirmek istiyoruz :
Bu, renk küpünü etkili bir şekilde bir Voronoi diyagramına ayrıştırır; burada palet girişleri noktalar olduğu ve bir hücre, tek bir palet girişine tüm renkleri eşleştirmeyi içerir. Voronoi diyagramlarını hesaplamak ve belirli bir noktanın hangi bölgeye düştüğünü belirlemek için hesaplamalı geometriden verimli algoritmalar vardır ; pratikte, indekslenmiş paletler o kadar küçüktür ki bunlar genellikle aşırıdır.
Renk kuantizasyonu sıklıkla titreme ile birleştirilir , bu da yumuşak degradeleri ölçerken ortaya çıkan şeritlenme gibi hoş olmayan yapaylıkları ortadan kaldırabilir ve daha fazla sayıda renk görünümü verebilir. Renk niceleme için bazı modern şemalar, palet seçimini ayrı ayrı gerçekleştirmek yerine tek aşamada renk taklidi ile birleştirmeyi dener.
Tamamen farklı yaklaşımlar kullanan, çok daha az sıklıkla kullanılan bir dizi başka yöntem icat edilmiştir. 1995 yılında Oleg Verevka tarafından tasarlanan Yerel K-ortalama algoritması, sistem tarafından kullanılmak üzere bir çekirdek "ayrılmış renkler" setinin sabitlendiği ve farklı renk şemalarına sahip birçok görüntünün aynı anda görüntülenebildiği pencereleme sistemlerinde kullanılmak üzere tasarlanmıştır. Palette bir ilk tahmin yapan ve ardından onu yinelemeli olarak iyileştiren bir kümeleme sonrası şemadır.
Renk nicelemesinin ilk günlerinde, k-ortalamalı kümeleme algoritması, yüksek hesaplama gereksinimleri ve başlatmaya duyarlılığı nedeniyle uygun görülmüyordu. 2011 yılında, M. Emre Çelebi bir renk niceleyici olarak k-ortalamalarının performansını yeniden araştırdı. K-ortalamalarının verimli bir şekilde uygulanmasının çok sayıda renk niceleme yönteminden daha iyi performans gösterdiğini gösterdi.
Yüksek kaliteli ancak yavaş NeuQuant algoritması, bir Kohonen sinir ağını eğiterek görüntüleri 256 renge düşürür "bu, bir giriş görüntüsündeki renklerin dağılımını eşleştirmeyi öğrenerek kendi kendini düzenler. Her bir nöronun RGB uzayında pozisyon almak, yüksek bitişik renklerin benzer olduğu kaliteli renk haritası. " Degradeli görüntüler için özellikle avantajlıdır.
Son olarak, yeni yöntemlerden biridir mekansal renk nicemleme Puzicha, Held, Ketterer, Buhmann, ve Fellner tarafından tasarlanan, Bonn Üniversitesi için bile görsel olarak etkileyici sonuçlar üretmek için palet üretimi ve insan algısının basitleştirilmiş modeli ile renk taklidi biçerdöverler, çok az sayıda renk. Orijinal görüntüdeki yakın piksellerin renkleri de pikselin rengini etkilediği için, palet seçimini kesinlikle bir kümeleme sorunu olarak ele almaz. Örnek resimlere bakın .
Tarih ve uygulamalar
Bilgisayarların ilk günlerinde, video bellek sınırlamaları nedeniyle video bağdaştırıcılarının yalnızca 2, 4, 16 veya (sonunda) 256 rengi desteklemesi yaygındı; video belleğini daha fazla renk yerine daha fazla piksele (daha yüksek çözünürlük) ayırmayı tercih ettiler. Renk nicelendirmesi, sınırlı görsel bozulma ile 16 ve 256 renk modlarında çok sayıda yüksek renkli görüntünün görüntülenmesini mümkün kılarak bu ödünleşimin doğrulanmasına yardımcı oldu. Çoğu işletim sistemi, yüksek renkli görüntüleri 256 renkli video modunda görüntülerken otomatik olarak niceleme ve titreme gerçekleştirir; bu, video aygıtlarının 256 renk moduyla sınırlı olduğu durumlarda önemliydi. Modern bilgisayarlar artık milyonlarca rengi aynı anda, insan gözüyle ayırt edilemeyecek kadar fazla görüntüleyebiliyor, bu da bu uygulamayı öncelikle mobil cihazlar ve eski donanımlarla sınırlıyor.
Günümüzde, renk niceleme esas olarak GIF ve PNG görüntülerinde kullanılmaktadır. Uzun süredir World Wide Web'deki en popüler kayıpsız ve animasyonlu bitmap formatı olan GIF, yalnızca 256 renge kadar destekler ve birçok görüntü için nicelemeyi gerektirir. Bazı eski web tarayıcıları, görüntüleri web renkleri olarak bilinen belirli bir paleti kullanmak üzere kısıtladı ve bu da optimize edilmiş paletlere kıyasla kalitede ciddi düşüşlere yol açtı. PNG dosyaları, 24 bit rengi destekler, ancak PNG dosyaları paletlenmiş görüntüler için piksel başına daha az bit kullandığından, renk nicelemesinin uygulanmasıyla çok fazla görsel bozulma olmadan dosya boyutunda çok daha küçük hale getirilebilir.
Bir kameranın merceğinden sağlanan sonsuz sayıda rengi bir bilgisayar ekranında görüntülemek imkansızdır; bu nedenle herhangi bir fotoğrafı dijital bir temsile dönüştürmek, zorunlu olarak bir miktar nicemlemeyi içerir. Pratik olarak konuşursak, 24-bit renk, görsel olarak özdeş olacak kadar küçük bir hata ile insanlar tarafından algılanabilen hemen hemen tüm renkleri mevcut renk alanı içinde temsil etmek için yeterince zengindir . Bununla birlikte, bir kamera dedektöründe veya bir ekranda rengin sayısallaştırılması, zorunlu olarak mevcut renk alanını sınırlar. Sonuç olarak, rengi temsil etmek için kaç bit kullanıldığına bakılmaksızın yeniden üretilmesi imkansız olabilecek birçok renk vardır. Örneğin, tipik RGB renk uzaylarında (bilgisayar monitörlerinde yaygındır), insan gözünün algılayabildiği tüm yeşil renk aralığını yeniden üretmek imkansızdır.
İlk bilgisayarlarda bulunan birkaç renkle, farklı niceleme algoritmaları çok farklı görünümlü çıktı görüntüleri üretti. Sonuç olarak, daha gerçekçi olması için karmaşık algoritmalar yazmaya çok zaman harcandı.
Editör desteği
Birçok bitmap grafik düzenleyicisi , renk niceleme için yerleşik destek içerir ve çok renkli bir görüntüyü daha az renkli bir görüntü formatına dönüştürürken bunu otomatik olarak gerçekleştirir. Bu uygulamaların çoğu, kullanıcının tam olarak istenen renk sayısını ayarlamasına izin verir. Bu tür destek örnekleri şunları içerir:
- Photoshop'un Mod → Dizine Alınmış Renk işlevi, sabit Windows sistemi ve Web paletlerinden belirli bir görüntüye veya görüntülere uygun paletler oluşturmak için tescilli Yerel ve Global algoritmalara kadar çeşitli niceleme algoritmaları sağlar.
- Paint Shop Pro, Renkler → Renk Derinliğini Azalt iletişim kutusunda üç standart renk niceleme algoritması sunar: medyan kesim, sekizli ve sabit standart "web uyumlu" palet.
- GIMP 2.8'de, Görüntüyü Dizine Alınmış Renklere Dönüştür seçeneği (Görüntü → Mod → Dizine Alınmış ..), 2'den 256'ya kadar renk seçeneği ile optimum bir paletin oluşturulmasına izin verir, web için optimize edilmiş bir palet kullanma seçeneği, siyah beyaz bir palet (1 bit) veya özel bir palet kullanarak. Kullanılmayan renklerin paletten çıkarılmasına izin verir ve çeşitli titreme seçenekleri sunar: Yok, Floyd-Steinberg (normal), Floyd-Steinberg (azaltılmış renk akması) ve Konumlandırılmış ve ayrıca saydamlığın titremesini sağlama yeteneği.
Posterleştirme, aynı renk uzayında kullanılan renklerin sayısını en aza indirmek gibi biraz farklı bir amaca sahip olmasına ve tipik olarak sabit bir palet kullanmasına rağmen, renk niceleme, posterleştirme efektleri oluşturmak için de kullanılır .
Bazı vektör grafik editörleri , özellikle kenar algılama yardımıyla bitmap görüntülerinin izlerini oluşturan rasterden vektöre dönüştürme teknikleri için renk nicemlemesini kullanır .
- Inkscape'in Yolu → Bitmap'i İzle: Çoklu Taramalar: Renk işlevi, renk izleri oluşturmak için sekizli nicemlemeyi kullanır.
Ayrıca bakınız
- Dizine alınmış renk
- Palet (bilgi işlem)
- Yazılım paletlerinin listesi - Uyarlanabilir paletler bölümü.
- Titreme
- Niceleme (görüntü işleme)
- Resim parçalama
Referanslar
daha fazla okuma
- Paul S. Heckbert. Çerçeve Arabelleği Ekranı için Renkli Görüntü Niceleme . ACM SIGGRAPH '82 Bildiriler. Medyan kesme algoritmasının ilk yayını.
- Dan Bloomberg. Sekizli kullanarak renk niceleme . Leptonica.
- Oleg Verevka. Yerel K-Ortalama Algoritması ile Windows Sistemlerinde Renkli Görüntü Niceleme . Western Computer Graphics Symposium '95 Bildirileri.
- J. Puzicha, M. Held, J. Ketterer, JM Buhmann ve D. Fellner. Renkli Görüntülerin Uzamsal Nicemlemesi Üzerine . ( tam metin .ps.gz ) Teknik Rapor IAI-TR-98-1, Bonn Üniversitesi. 1998.



