Renk alanı ve bit derinliği arasındaki fark nedir?


13

Farklı renk alanı türleri olduğunu ve sRGB'nin en yaygın olduğunu biliyorum . Bit derinliği , bir renk kanalının varyasyonlarını tanımlar, burada (bence) 8 ve / veya 16 bit en yaygın olanıdır.

Bazıları tamamen farklı olduklarını söyleyebilir, bazıları ise birbirlerini dışlamadıklarını söyleyebilir.

Farkları açıklayan var mı? Bit derinliğini artırırsanız neden renk alanını da artırmıyorsunuz?

Yanıtlar:


15

Temel olarak, yaşam rengi bilgileri bir kutu çikolata boya kalemi gibidir ...

Renk bilgisi analog değerlerde değil tamsayılarda saklanır - belirli bir bit derinliğinde tanımlanabilen ayrı, sayılabilir bir renk sayısı vardır.

Renk alanını farklı renklerde bir boya kalemi kutusu gibi düşünün. Bir renk boşluğu , kullanılabilir olan boya kalemi türlerini açıklar . "Kalın renkler", "pastel renkler" veya benzerlerini düşünün. Bit derinliği , boya kalemlerinin sayısını tanımlar .

İki farklı boya kalemi kutusunun bir örneği:

crayonboxes

Her ikisinin de 16 boya kalemi vardır, ancak farklı bir renk yelpazesine sahiptirler - özellikle alt set kırmızıya kadar uzanmaz. 16 renk olduğundan, bu 4 renk derinliği bitidir (2⁴ = 16).

"Gerçek" bir renk alanı üç boyutludur ve bunun sadece bir boyutu vardır. (Yani, renk tonu.) Ama umarım yardımcı olan bir model yapar. Üst "kutu", uç kenarlarda çok kırmızı "birincil" bir renge sahip bir renk alanına sahipken, alt kısım sadece kırmızımsı bir turuncuya uzanır.

En üstteki renk alanı ilk bakışta açıkça üstün görünüyor (altta kırmızı bir şey bile çizemezsiniz!), Ancak gökyüzü, su ve ağaçlarla bir manzara çizdiğiniz durumu düşünün. Alttaki boya kalemi seti çok daha iyi olabilir, çünkü yeşil ve mavinin ince tonlarını temsil etmek için "bitlerinden" daha fazlasını kullanır.

Bunun yerine. 64 renk setlerinde aynı renk aralıklarını satın aldıysanız, mevcut her biri arasında üç yeni boya kalemi olurdu . Alt kümede hala mavi ve yeşil için daha fazla seçenek olurdu, ancak yeni boya kalemi nedeniyle, üst kümede de bu aralıkta 16 mum boya kümesinden çok daha fazla seçenek olurdu. Üst set de kırmızıyı kapsadığından, yeterli boya kalemi ile objektif olarak daha iyi olurdu .

Bununla birlikte, her iki kutunun da eksik bir şey olduğu bir seçim düşünülebilir. Biraz daha karmaşık bir görselleştirmeye gidersek, bunun gerçek sRGB (TV veya tüketici düzeyinde bir bilgisayar monitörü olarak) ve standart "SWOP" CMYK mürekkepleri nasıl olabileceğini görmek biraz daha kolay:

CMYK SWOP vs RGB - bana göre resim ve çizgiler yaklaşık

Burada, CMYK SWOP renk aralığının¹ sRGB'de gösterilebileceğinden, cyans, macenta / morlar ve sarılara daha da genişlediğini görebilirsiniz. Mevcut ayırt edilebilir adımları ayırt etmek için daha fazla bit eklesek bile, renk aralığı kenarlığı belirler . Benzer şekilde, CMYK temsiline daha fazla bit eklemek, sRGB tarafından kapsanan kırmızı, yeşil ve mavinin uzak köşelerini temsil etmeye yardımcı olmaz. (Ve elbette hepsi , dış şekil ile temsil edilen insan vizyonunun gamının zayıf bir temsilidir - yeşilliklerin dijital fotoğraflarının doğal görünmesinin neden bu kadar zor olduğunu merak ettiyseniz, bu hikayenin bir parçasıdır. !)

Gerçek hayatta, 24 bit renk uzayları (kanal başına 8 bit), çalışmak için 16,8 milyon renge sahipsiniz. Bu genellikle iyidir ve insan gözünün ayırt edebileceğinden daha fazla renk olarak kabul edilir, ancak renk alanınız gerçekten büyükse, ortadaki bireysel renkler arasındaki atlamanın idealden daha büyük olduğu ve aslında mümkün olduğu aynı etkiyi yaşayabilirsiniz. bazı durumlarda farkedilir.

Aslında, ProPhoto RGB gibi bazı "geniş" renk uzayları, alanın kenarında insan görüşündeki hiçbir şeye karşılık gelmeyen renklere sahiptir . Renk uzayını çalıştıran ancak etkin bir şekilde boşa harcanan teorik, "hayali" renklerdir. Az sayıda boya kalemi (düşük bit derinliği) ile böyle bir renk alanı kullandığınızda, aslında kullanışlı renkler için daha az seçeneğiniz vardır ve bu da adımları atlama olasılığını artırır. SRGB gibi bir şey, uzaktaki cyansları ve yeşillikleri (yukarıdaki sette eksik kırmızı gibi) kapsayamaz, ancak karşılığında, maviler ve morlar ve kırmızılar (ve orada bulunan yeşillikler) arasında daha ince bir ayrım elde edersiniz.

Kanal başına 16 bite (toplam 48 bit) gidersek , kutudaki her renk arasında 16,8 milyon ek "boya kalemi" vardır . Bu tam bir aşırılıktır (hem insanların ayırt edebileceği şeylerde hem de ekranda veya baskıda bir farkın süptilini temsil etmenin pratik gerçekliğinde), ancak aşırılık her zaman yumuşak geçişlerin her zaman mevcut olduğunu garanti eder. Ve gerçek hayatta beri, renk alanlarda tüm kabaca (bunlar tam hizaya olmasa bile), gerçekten renk alanı hiçbir kırmızı olan duruma tüketmemek kapak insan vizyonu için tasarlanmıştır hiç bu sadece kudreti - o kadar derin ya da ince değil.

Dikkate değer bir diğer şey, sRGB'nin sadece insan vizyonu için iyi bir eşleşme değil , çoğu tüketici cihazında temsil edilebilecek şekilde tasarlanması ve renkle yönetilmeyen ekran için varsayılan varsayımdır. Bu, sRGB kullanırken, kullandığınız "boya kalemlerinin" görüntüleyenlerinizin cihazlarının kullandığı "boya kalemlerine" karşılık gelme şansının en yüksek olduğu anlamına gelir. Bu yüzden web görüntüleme ve paylaşma için sRGB'ye kaydetmeyi öneriyorum- daha yüksek bit derinlikleri yaygın bir seçenek değildir ve çoğu insanın seçtiğiniz bir dizi boya kalemi için değiştirme yeteneği yoktur. (Umarım bu gelecekte daha iyi hale gelir, ancak tüketici cihazı üreticileri için gerçekten bir öncelik gibi görünmüyor. Belki 3D ve 4K hoopla yerleştiğinde "derin renk" üzerine daha fazla vurgu yapabiliriz - daha yüksek bit derinlikleri tüketici görüntüler.

(Bunlardan bazıları, sRGB ve Adobe RGB gibi renk uzayları nasıl çakışıyor? Konusundaki önceki yanıtımdan ödünç alındı. )


dipnot

1. Bu özel örnek, CMYK görüntülerinin ve diğer bazı detayların gerçek temsili üzerinde aşırı basitleştirme ve parlaklıktır; yine de iyi bir örnek olur, çünkü çoğu gerçek renk alanı mümkün olduğunca üst üste gelecek şekilde tasarlanmıştır ve bu bir uyumsuzluk gösteren bir şey gösterir.


TAMAM. Öyleyse, üst renk uzayının (boya kalemi üst sırası) alt yüzeyin bit derinliğinin iki katı olduğunu, teorik olarak alt renk olarak tüm renkleri / gölgeleri kaplayabildiğini varsayalım? Ancak, her ikisi de bit derinliğinde aynıysa, hayır. Aynı renkleri / gölgeleri kaplayamaz. Yani, renk uzayını değiştirmeseniz bile, (bir renk uzayının) bit derinliğini artırmak, farklı bir renk uzayıyla aynı renkleri kaplama potansiyeline sahip mi?
BBking

@Babacık, mum boya örneğinin verdiği tek boyutlu çizgiden ziyade üç boyutlu, ancak her iki durumda da kapsama sorununun temelde aşırı uçlarla ilgisi var. İkinci satıra bakın - kırmızı uçlara daha fazla bit eklemek eklenmeyecektir. Ama diğer yöne gitmek, evet, onu inşa etme şeklimden dolayı, üstteki yeterince daha fazla bit daha fazla rengi kaplayacak - tam olarak aynı olmayacak, ama yine de daha düzgün bir gradyan olacak. 2 × 'den daha fazlasına giderseniz, üst satır alt satırın bir üst kümesi olacaktır.
Lütfen Profilim'i Oku

1
Bununla birlikte, alt sırayı, üst sıranın kapsamadığı bir yönde uzatacak şekilde inşa edebilirdim - aşırı uçların üst üste gelmemesi olabilir ve hiçbir ekleme biti bunu değiştirmez. (Daha fazla bilgi için [örtüşme sorusuna bakınız .)
Lütfen Profilim

Anlıyorum. Şimdi cevabını sizinkine değiştirmem gerekip gerekmediğini bilmiyorum ...: /
BBking

@BBking Peki, başka ne daha net olabileceğini bana bildirin! :)
Lütfen

11

Bit derinliği ve renk alanı aynı şey değildir ve ikisi de birbirini dışlamaz. Aynı anda var olan farklı şeylerdir. Özellikle basit bir açıklama için:

  • Bit derinliği , her farklı rengin derecelendirildiği inceliği belirler .

  • Renk alanı , bu renklerin ne ölçüde dağıtılacağını belirler .

SRGB ve AdobeRGB'yi renk uzayları, 8 bit ve 16 bit renk bit derinlikleri olarak alalım. sRGB küçük bir renk alanı, AdobeRGB ise daha büyük bir renk alanıdır. Renk uzayları veya gamutlar, ProPhotoRGB veya bazı yeni 10-bpc'lerde olduğu gibi, renklerin insan gözüyle görülebilen tüm renk aralığından (veya hatta bu aralığın ötesinde) ne ölçüde seçilebileceğini tanımlar. TV gamutları). SRGB'de "Saf Yeşil" rengini eşlerseniz, bu renk gerçekten sayısal olarak saf bir yeşil olur ... ancak algısal olarak en doğru saf yeşil olmayabilir. Aynı rengin "Saf Yeşil" eşlemesi AdobeRGB'dir ve sayısal olarak aynı yeşildir, AdobeRGB'de eşlendiğinde daha doygun ve canlıdır. (Ayrıca, ProPhotoRGB'de aynı rengi eşleştirin ve AdobeRGB'den daha doygun olacak ... tabii ki,

Şimdi, biraz derinlik geliyor. 8 bit ile 16 bit arasındaki Pure Green arasındaki fark 0,255,0'a karşı 0,65535,0'dır. Yeşil kanalı 8 bit renkten daha 16 bit renkte saf yeşil olarak tanımlamak için çok daha büyük bir sayı kullanılır. Orta Yeşil getirirsek8 bitlik değer 0,128,0, 16 bitlik değer 0,32768,0 olabilir. Aynı renk, ancak Saf Yeşil ve Orta Yeşil arasındaki sınıftaki farklı renklerin sayısı 16 bit renkle çok daha yüksektir. 16 bit'te bu iki seviye arasında toplam 32768 farklı yeşil seviyeniz var, 8 bitte sadece 128 farklı seviye var. Diyelim ki daha açık bir yeşil seçelim, diyelim ki 8 bitte 0,192,0. Aynı renk 16 bitte 0,49152,0 olur. Potansiyel farklı renklerdeki bu artış, daha yüksek bir bit derinliği kullanıldığında degradelerin çok daha pürüzsüz ve daha hassas bir şekilde tanımlanması anlamına gelir.

Son olarak, bit derinlikleri ve renk uzayları birlikte nasıl çalışır? SRGB gibi dar bir gamda, içinde farklı renkleri eşlemek için kısıtlı bir renk alanınız var. SRGB ve 8 bit renk ile, 0,1,0 ile 0,128,0 ila 0,255,0 arasındaki tüm yeşilliklerden geçtiğinizde her renk gerçekten farklı olacaktır. SRGB alanında 16 bit görüntü varsa ne olur? Sayısal olarak, resminizin 280 trilyondan fazla farklı rengi temsil etme yeteneği vardır (16 + 16 + 16 bit toplam 48 bit, 2 ^ 48 281,5 trilyon). Algısal olarak ... sayısal RGB değerleri gamla sınırlı renklerle eşlendiğinde, 280 trilyon rengin önemli bir miktarı renk alanı içinde tam olarak aynı "renk koordinatına" eşlenir. Görüntü dosyanız hala tam hassas renk verileri içeriyor, ancak ekrana dönüştürüldüğünde (veya yazdırılmak üzere oluşturulduğunda),

AdobeRGB'ye yükselirsek, gam büyür, daha geniş bir renk alanıdır ve bunun için daha fazla sayıda farklı renk eşlemesini kapsayabilir. 8 bit renk derinliği ile, bu daha geniş gamda seyrek olarak eşleme yapacaksınız. Teknik olarak, gamut, bit derinliğinizin referans vermenize izin verdiğinden daha fazla renk tanımlayabilir. Sınırlayıcı faktörleriniz değişti ... gamın kısıtlayıcı olması yerine, bit derinliği kısıtlayıcı. AdobeRGB renk uzayında 16 bit renkle gidersek, 280 trilyon potansiyel rengimizin farklı renklere başvurması için daha fazla alanımız olur. Birden çok rengin AdobeRGB alanındaki aynı gerçek koordinatlarla eşleşmesi muhtemeldir, ancak bu daha büyük alanda sRGB'den çok daha az çarpışma olacaktır.

Bu nedenle, renk alanı / gam ve bit derinliği farklı şeyler olsa da birbirleriyle ilişkilidir. Görüntü verilerinizi saklamak için daha yüksek bir bit derinliği kullanırken daha büyük bir gam kullanmanız gerekmez, ancak bu daha yüksek bit derinliğinden en iyi şekilde yararlanmanız önerilir. Tersine, görüntüleri daha düşük bir bit derinliğiyle kaydediyorsanız, bu görüntüleri sRGB'den daha fazla bir şeyle oluştururken genellikle daha az değer vardır.

Bir görüntü dosyasındaki yüksek bit derinliği renk bilgisinden tam olarak yararlanmak için, daha büyük gamutlar ve bu gamları gerçekten gösterebilen eşzamanlı olarak daha iyi ekranlar değerli hale gelir. TV'lerde veya bilgisayar ekranlarında 10, 12 ve 16 bit renk oluşturmak için AdobeRGB'den daha büyük ve hatta ProPhotoRGB'den daha büyük gamlar genellikle insan görsel algısından tam olarak yararlanmak için gereklidir. Gözlerimiz inanılmaz cihazlardır ve inanılmaz dinamik aralık ve son derece geniş renk duyarlılığı yeteneğine sahiptir. 12, 14 ve 16 bit donanım LUT'ları (3B Renk Arama Tabloları) ile günümüzdeki 10 bit ekranlar, toplam 68,7 milyar (12 bit), 4,4 trilyon arasından seçilen 1,07 milyar eşzamanlı renk gösterebilir (14 bit) veya 281.5 trilyon (16 bit) renk.


2
"8 bit ve 16 bit saf yeşil arasındaki fark 0,255,0'a karşı 0,65535,0." Mükemmel! Bu beni daha iyi anlamamı sağladı.
BBking

1
Renk alanı sadece "kapsam" değildir (gamut); uzaydaki renklerin tüm topolojisini kapsar. YUV, HSL (genellikle küp yerine silindir olarak temsil edilir), CMYK (4 boyutlu bir boşluk), vb.Gibi RGB olmayan renk alanlarını düşünün
Jason C

@Jason: "Kapsam" terimi, üç boyutlu uzamsal nesneler için kullanılabilir. Bu, Lab alanının tam parlaklık / doygunluk grafiğinin üzerine bindirilmiş bir üçgen gibi sadece iki boyutlu bir boyut anlamına gelmez. Genişlik, kapsamın asıl şekline bakılmaksızın, üç boyutun tamamında renk alanının tüm kapsamı anlamına gelir . RGB, YUV, HSL, CMYK, vb. Renk uzayları değil de sRGB, AdobeRGB, vb. Renk uzaylarıdır. Renk uzayları 3D'dir, ancak genellikle tuhaf mantarlı elmas şekilleri vardır, asla silindirik veya kübik değildirler.
jrista

1
Sayısal açıdan, evet. Görüntü oluşturma açısından, renk uzayına bağlıdır. ;)
jrista

1
Matt'in örnek renkleri kullanıldığında, muhtemelen en yakın canlı seçenek olduğu için parlak sarı (255,255,0) elde edilir. (255,0,0) demek istiyorsan turuncu olur. Sayısal renk değerlerini renk alanı koordinatlarına eşlerken kullanılabilecek çeşitli oluşturma hedefleri vardır: Mutlak, Göreli, Doygunluk, Algısal. Niyete bağlı olarak, kesin renk sonucu ("işlenmiş" renk) biraz (veya belki de çılgınca, gerçekten renk uzayına ve ICC profiline bağlıdır) farklı olacaktır.
jrista

3

Bunlar bağımsız şeyler. Renk alanı tüm olası renkleri temsil eder ve sürekli bir alandır. Dijital cihazlar alanın ayrıklaştırılmasını gerektirir. Bu, her birindeki adımların renk alanı içindeki renkleri temsil edebileceği anlamına gelir .

İşte basit bir benzetme: Bir renk alanı olarak iki kat arasındaki yükseklik hakkında bir şey. Katlar arasındaki boşluk budur. Şimdi alt kattan üst kata merdiven inşa etmek için kaç adım gerekiyor? Cevap, adımın boyutuna bağlıdır. Bu biraz derinlik.

Artık dosya formatlarında kullanılan bit derinlikleri hakkında konuştuğunuzda, durum daha karmaşıktır, çünkü tüm adımlar boyut değildir, çünkü bit derinliği doğrusal anlamda eşit dağılmamıştır. Bazen adımlar, önceden belirlenmiş bir eğriyi, bir gama eğrisini veya bir günlük eğrisini takip eder.

Genellikle bit derinliğini artırırsanız, bir renk uzayında daha fazla derecelendirme elde edersiniz, ancak sınırları aynı kalır. Bununla birlikte, özel renk uzayının dışındaki renkleri temsil etmek için negatif bile olabilen kayan nokta veya sabit nokta değerleri kullanan HDR dosya formatları vardır.


Sanırım hala aynı anlayış seviyesindeyim. Bina benzetmeniz beni daha da karıştırdı. Renk Alanı'nın bir binadaki düzeylerin (her bir rengi bir rengi temsil eden) miktarına benzediğini söylediyseniz, binadaki adımlar biraz derinlik olabilir. Böylece, aynı renk uzayında farklı bit derinliklerine sahip olabilirsiniz. Bir bina 8 bit adımlarla sRGB ise, bu 16 bit adım sRGB binadan daha az renk detayına sahip olacaktır. Ancak, bit derinliğini artırmak bina boyutunu kırıştırır. Bu nedenle, renk alanını değiştirmek (ama çok değil) ??
BBking

2
@BBking: Bu doğru değil. İkisi bu şekilde bağlantılı değil. 16 adıma geçtiğinizde binanın boyutu değişmek zorunda değildir, çünkü adımları sadece 8 adımınızdakinden daha yakın yapabilirsiniz. Bit derinliği basamakların yakınlığı, renk alanı ise binanın büyüklüğüdür. Yardımcı olabilecek bir cevap ekledim.
jrista

1
Bir renk uzayının doğası gereği olası tüm renkleri temsil etmediğini, çoğunun olmadığını unutmayın. Yoksa "X'in renk alanı X'deki olası renkleri tanımlar" gibi bir şey mi söylemek istediniz?
phresnel

2

Basit bir örnek deneyelim. Diyelim ki "gökkuşağı" adında bir renk alanımız var. Gökkuşağının renklerini içerir, bu nedenle kırmızı, turuncu, sarı, yeşil, mavi ve menekşe renklerinden oluşur. Renk boşluğu, gamın kapsadığı bir renk aralığını tanımlar.

Bit derinliği ise bu alanda kaç farklı renk yapabileceğimizi tanımlar. Sadece birkaç bitimiz olsaydı, sadece gökkuşağının temel renklerini temsil edebilirdik, ama bir sürü bitimiz olsaydı, koyu kırmızılar ve parlak kırmızılar ve orta kırmızılar vb. Yapabilirdik. daha benzersiz değerler tanımlayabilir ve daha fazla renge sahip olabiliriz, ancak bunlar hala kırmızı, turuncu, sarı, yeşil, mavi ve menekşe tonlarıdır.

Bu nedenle, daha küçük bir renk aralığını temsil eden daha yüksek bir bit derinliğine sahip olmak mümkündür, sadece kapsanan renkler içinde çok daha fazla hassasiyet elde edersiniz.

Daha teknik olarak, bit hızı, renk uzayındaki renklerin tanecikliğini tanımlar ve renk alanı, rengin minimum ve maksimum değerlerini (ve muhtemelen boşluğa bağlı olarak başka bazı şeyleri) tanımlar, ancak istediğiniz sayıda bu değerler arasındaki adımlar.

Kapladığınız renk uzayını genişletmek, renk alanı içindeki renklerin daha iyi kontrolünü sağlamak veya ikisinin bir kombinasyonunu yapmak için ekstra bitler.


1

Bu tür şeyleri düşünmenin kolay bir yolu, renk uzaylarının kaplar olmasıdır. Oluşturuldukları renk uzayının renk değerlerini içerirler. RGB renk uzaylarıysa, değerler her kanalda RGB- 0-255'dir. CMYK 0-100 değerleri varsa.

Renk boşluğunun hacmi değişiyorsa bu değerler değişmez. Bir renk uzayının hacmini değiştiren, o alanı tanımlayan CIEXYZ değerleridir. Daha büyük hacimli bir renk alanı genellikle daha doygun renkler içerebilir. Buna örnek olarak sRGB hacimce küçük bir renk alanı ve hacim olarak büyük bir renk alanı olan ProPhoto verilebilir. Photoshop'ta bir sRGB görüntüsü açmak beklenen bir sonuç üretir, ancak daha sonra ProPhoto ICC profilini atamak görüntü rengini büyük ölçüde değiştirir ve daha doygun hale getirir, ancak RGB değerleri değişmez. Sadece CIELab ile olan ilişkileri. Renk boşluğunun hacmini tanımlayan bu CIEXYZ değerleri önce CIELab'a ve sonra hedef boşluğa dönüştürülür.

Bit derinliği bir pikselde bulunan renk bilgisi miktarıdır. En çok iyi izah O BuradaFotoğraf ve dijital görüntülere uygulanan daha yüksek Bit derinliği, her pikselde daha fazla resim bilgisine izin verir. Bu daha yüksek bit derinliği, gölgeleri açarken veya vurgulama ayrıntılarını geri getirirken daha fazla ayarlanabilirlik sağlar. Bunun, oluşturulan bit derinliği değil, piksel bit derinliği oluşturulduğunu unutmayın. Bitler veya renk alanı azaltıldığında genişletilemeyeceğini unutmayın. 8 bitlik bir görüntüyü 16 bite çekmek, piksel başına daha fazla bit oluşturmaz, 8 bitlik pikseldeki bitleri iki katına çıkarır. Renk uzayları ile aynı şey. Görüntü sRGB'ye dönüştürüldüyse ve şimdi büyük gamut yazıcınızda yazdırılan orig görüntüsünün tüm bu parlak renklerini istiyorsanız, bu renkler o sRGB görüntüsünde artık mevcut değil. Yeniden başlayın ve bu pikselleri daha geniş renk alanına dönüştürün.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.