Apa perbedaan antara ruang warna dan kedalaman bit?

13

Saya tahu ada berbagai jenis ruang warna dan sRGB adalah yang paling umum. Kedalaman bit mendefinisikan variasi saluran warna, di mana (saya pikir) 8 dan / atau 16 bit adalah yang paling umum.

Beberapa mungkin mengatakan mereka sangat berbeda dan yang lain mungkin mengatakan mereka tidak saling eksklusif.

Adakah yang bisa menjelaskan perbedaannya? Jika Anda meningkatkan kedalaman bit, mengapa Anda juga tidak menambah ruang warna?

Tempat tidur besar
sumber

Jawaban:

15

Pada dasarnya, informasi warna hidup seperti sekotak coklat krayon ...

Informasi warna disimpan dalam bilangan bulat, bukan nilai analog - ada sejumlah warna yang dapat dihitung dan dapat dijelaskan pada kedalaman bit tertentu.

Pikirkan ruang warna seperti sekotak krayon dengan warna berbeda. Ruang warna menjelaskan jenis krayon yang tersedia. Pikirkan "warna-warna berani", "pastel", atau sejenisnya. Kedalaman bit menggambarkan jumlah krayon.

Berikut adalah contoh dari dua kotak krayon yang berbeda:

kotak krayon

Keduanya memiliki 16 krayon, tetapi mereka memiliki rentang warna yang berbeda - khususnya, himpunan yang lebih rendah tidak memanjang hingga merah. Karena ada 16 warna, itu 4 bit kedalaman warna (2⁴ = 16).

Ruang warna "nyata" adalah tiga dimensi, dan ini hanya memiliki satu dimensi. (Yaitu, rona.) Tapi itu membuat model yang saya harap bisa membantu. "Kotak" atas memiliki ruang warna yang memiliki warna "primer" yang sangat merah di ujung yang ekstrim, sedangkan yang lebih rendah hanya meluas ke oranye kemerahan.

Ruang warna atas tampaknya, pada awalnya, jelas lebih unggul (Anda bahkan tidak bisa menggambar sesuatu yang merah dengan yang bawah!), Tetapi pertimbangkan situasi di mana Anda menggambar lanskap dengan langit, air, dan pepohonan. Set bawah krayon sebenarnya jauh lebih baik, karena menggunakan lebih banyak "bit" untuk mewakili nuansa halus hijau dan biru.

Sebaliknya, jika. Anda membeli rentang warna yang sama dalam set 64-krayon, akan ada tiga krayon baru di antara setiap krayon yang ada. Set yang lebih rendah masih akan memiliki lebih banyak pilihan untuk biru dan hijau, tetapi karena krayon baru, set atas juga akan memiliki lebih banyak pilihan dalam kisaran itu daripada set 16-krayon. Karena set atas juga mencakup merah, dengan krayon yang cukup itu akan lebih baik secara objektif.

Namun, orang dapat membayangkan pilihan di mana kedua kotak memiliki sesuatu yang hilang. Agak lebih mudah untuk melihat bagaimana jadinya jika kita pergi ke visualisasi yang sedikit lebih rumit, di sini sRGB nyata (sebagai monitor komputer tingkat TV) dan tinta CMYK "SWOP" standar:

CMYK SWOP vs RGB - gambar oleh saya, dan garis adalah perkiraan

Di sini, Anda dapat melihat bahwa CMYK SWOP colorspace¹ meluas lebih jauh ke dalam cyans, magenta / ungu, dan kuning daripada yang dapat diwakili dalam sRGB. Bahkan jika kita menambahkan lebih banyak bit untuk membedakan antara langkah-langkah yang dapat dibedakan yang tersedia, ruang warna menentukan perbatasan . Demikian juga, menambahkan lebih banyak bit ke representasi CMYK tidak membantu mewakili sudut yang jauh dari merah, hijau, dan biru yang ditutupi oleh sRGB. (Dan tentu saja semuanya adalah representasi yang buruk dari keseluruhan visi manusia, diwakili oleh bentuk luar - jika Anda pernah bertanya-tanya mengapa begitu sulit untuk mendapatkan foto digital penghijauan agar terlihat alami, ini adalah bagian dari cerita !)

Dalam kehidupan nyata, ruang warna 24 bit (8 bit per saluran), Anda memiliki 16,8 juta warna untuk digunakan. Itu umumnya baik-baik saja, dan secara luas dianggap lebih banyak warna daripada yang dapat dibedakan mata manusia, tetapi jika ruang warna Anda benar-benar besar, Anda mungkin benar-benar memiliki efek yang sama di mana lompatan antara warna-warna individual di tengah lebih besar dari ideal, dan itu mungkin bahwa itu akan terlihat dalam situasi tertentu.

Bahkan, beberapa ruang warna "lebar" seperti ProPhoto RGB memiliki warna di tepi ruang yang tidak sesuai dengan apa pun dalam penglihatan manusia . Mereka adalah warna teoretis, "imajiner" yang membuat ruang warna bekerja, tetapi secara efektif sia-sia. Saat Anda menggunakan ruang warna seperti itu dengan sejumlah kecil krayon (kedalaman bit rendah), Anda memiliki lebih sedikit opsi untuk warna yang benar-benar berguna, membuat kemungkinan langkah yang hilang lebih menjadi masalah. Sesuatu seperti sRGB tidak dapat mencakup cyans dan green yang jauh (seperti halnya merah yang hilang pada set di atas), tetapi sebagai gantinya, Anda mendapatkan perbedaan yang lebih baik antara biru dan ungu dan merah (dan hijau yang ada di sana).

Jika kita beralih ke 16 bit per saluran (total 48 bit), ada 16,8 juta "krayon" tambahan di antara setiap naungan dalam kotak. Ini adalah kerja keras yang lengkap (baik dalam hal apa yang mungkin dapat dibedakan oleh manusia maupun dalam kenyataan praktis yang merepresentasikan perbedaan tipis pada layar atau dalam cetakan), tetapi bahwa pembunuhan berlebihan menjamin bahwa transisi yang mulus selalu tersedia. Dan karena dalam kehidupan nyata, ruang warna secara kasar dirancang untuk menutupi penglihatan manusia (bahkan jika mereka tidak benar-benar berbaris), Anda tidak benar-benar mengalami situasi di mana ruang warna Anda tidak memiliki warna merah sama sekali - itu mungkin saja tidak cukup dalam atau halus.

Hal lain yang patut dipertimbangkan adalah bahwa sRGB dirancang tidak hanya untuk menjadi pasangan yang layak untuk visi manusia, tetapi juga dapat diwakili pada sebagian besar perangkat konsumen , dan itu adalah asumsi standar untuk tampilan yang tidak dikelola dengan warna. Itu berarti bahwa ketika Anda menggunakan sRGB, Anda memiliki peluang terbaik bahwa "krayon" yang Anda gunakan akan sesuai dengan "krayon" yang digunakan perangkat pemirsa Anda. Itu sebabnya saya merekomendasikan menyimpan ke sRGB untuk melihat dan berbagi web- Kedalaman bit yang lebih tinggi bukanlah opsi yang tersebar luas, dan kebanyakan orang tidak memiliki kemampuan untuk menukar seperangkat krayon pilihan Anda. (Semoga ini akan menjadi lebih baik di masa depan, tetapi tampaknya tidak benar-benar menjadi prioritas bagi produsen perangkat konsumen. Mungkin ketika kehebohan 3D dan 4K mereda, kita bisa mendapatkan lebih banyak penekanan pada "warna yang dalam" - kedalaman bit yang lebih tinggi untuk display konsumen.

(Beberapa dari ini meminjam dari jawaban saya sebelumnya untuk Bagaimana ruang warna seperti sRGB dan Adobe RGB tumpang tindih? )


Catatan kaki

1. Contoh khusus ini adalah penyederhanaan yang berlebihan dan penjelasan tentang representasi nyata dari gambar CMYK dan beberapa detail lainnya; itu membuat contoh yang baik, karena sebagian besar ruang warna nyata dirancang untuk tumpang tindih sebanyak mungkin dan ini menunjukkan sesuatu yang memiliki ketidakcocokan.

Silakan Baca Profil
sumber
BAIK. Jadi, katakanlah ruang warna atas (baris atas krayon) memiliki kedalaman bit dua kali lipat dari yang bawah, secara teoritis itu bisa mencakup semua warna / nuansa sebagai yang bawah? Namun, jika keduanya memiliki kedalaman bit yang sama, maka tidak ada. Itu tidak bisa menutupi warna / nuansa yang sama. Jadi, meskipun Anda tidak mengubah ruang warna, meningkatkan kedalaman bit (dari ruang warna) memiliki potensi untuk menutupi warna yang sama dengan ruang warna yang berbeda?
BBking
@BBking Yah, ini tiga dimensi daripada garis satu dimensi yang diberikan contoh krayon, tetapi dalam kedua kasus pertanyaan cakupan pada dasarnya berkaitan dengan ekstrem. Lihatlah baris kedua - menambahkan lebih banyak bit tidak akan menambah ekstrem merah. Tapi sebaliknya, ya, karena cara saya membangunnya, cukup banyak bit di bagian atas akan membuatnya menutupi lebih banyak warna - itu tidak akan persis sama, tetapi masih akan menjadi gradien yang lebih halus. Jika Anda pergi ke lebih dari 2 ×, baris atas akan menjadi superset dari yang lebih rendah.
Silakan Baca Profil
1
Namun, saya bisa membuat baris bawah sehingga meluas ke arah yang tidak tercakup oleh baris atas - bisa jadi ekstrem tidak tumpang tindih, dan tidak ada penambahan bit akan mengubah itu. (Lihat [tumpang tindih pertanyaan untuk lebih lanjut.)
Silakan Baca Profil
Saya melihat. Sekarang saya tidak tahu apakah saya harus mengubah jawaban Anda ...: /
BBking
@BBking Yah, beri tahu saya apa lagi yang bisa lebih jelas! :)
Silakan Baca Profil
11

Kedalaman bit dan ruang warna bukan hal yang sama, dan keduanya tidak saling eksklusif. Mereka adalah hal-hal berbeda yang ada secara bersamaan. Untuk penjelasan yang sangat sederhana:

  • Kedalaman bit menentukan kehalusan nilai setiap warna yang berbeda .

  • Ruang warna menentukan sejauh mana warna - warna tersebut didistribusikan .

Mari kita ambil sRGB dan AdobeRGB sebagai ruang warna, dan warna 8-bit dan 16-bit sebagai kedalaman bit. sRGB adalah ruang warna kecil, sedangkan AdobeRGB adalah ruang warna lebih besar. Ruang warna, atau gamut, menentukan sejauh mana warna dapat dipilih dari seluruh rentang warna yang terlihat oleh mata manusia (atau, bahkan, di luar kisaran itu, seperti halnya dengan ProPhotoRGB atau beberapa 10-bpc baru TV gamuts). Jika Anda memetakan warna "Hijau Murni" dalam sRGB, warna itu memang akan menjadi hijau murni secara numerik ... namun itu mungkin bukan hijau murni yang paling tepat secara persepsi. Memetakan warna yang sama "Murni Hijau" adalah AdobeRGB, dan meskipun secara numerik warnanya sama hijau, ketika dipetakan dalam AdobeRGB itu lebih jenuh dan bersemangat. (Lebih lanjut, petakan warna yang sama di ProPhotoRGB, dan itu akan lebih jenuh daripada di AdobeRGB ... dengan asumsi, tentu saja,

Sekarang, datang kedalaman bit. Perbedaan antara Pure Green dalam 8-bit dan 16-bit adalah 0,255,0 vs 0,65535,0. Angka yang jauh lebih besar digunakan untuk menggambarkan saluran hijau berwarna hijau murni dalam warna 16-bit daripada warna 8-bit. Jika kita membawa Medium Green, nilai dalam 8-bit mungkin 0,128,0 sedangkan dalam 16-bit akan menjadi 0,32768,0. Warna yang sama, tetapi jumlah warna yang berbeda pada tingkatan antara Pure Green dan Medium Green jauh lebih tinggi dengan warna 16-bit. Anda memiliki total 32768 level hijau yang berbeda antara dua level dalam 16-bit, vs 128 level berbeda hanya dalam 8-bit. Katakanlah kita memilih hijau yang lebih terang, katakan 0,192,0 dalam 8-bit. Warna yang sama akan menjadi 0,49152,0 dalam 16-bit. Peningkatan potensi warna berbeda ini berarti gradien menjadi jauh lebih halus dan lebih halus saat menggunakan kedalaman bit yang lebih tinggi.

Akhirnya, bagaimana kedalaman bit dan ruang warna bekerja bersama? Dengan gamut yang sempit, seperti sRGB, Anda memiliki ruang warna terbatas untuk memetakan warna yang berbeda. Dengan sRGB dan warna 8-bit, setiap warna akan benar-benar berbeda saat Anda menelusuri semua hijau mulai dari 0,1,0 hingga 0,128,0 hingga 0,255,0. Apa yang terjadi jika Anda memiliki gambar 16-bit di ruang sRGB? Secara numerik, gambar Anda memiliki kemampuan untuk mewakili lebih dari 280 triliun warna yang berbeda (16 + 16 + 16 bit adalah total 48 bit, 2 ^ 48 adalah 281,5 triliun). Persepsi ... ketika nilai RGB numerik dipetakan ke warna terbatas-gamut, sejumlah besar 280 triliun warna akan berakhir dipetakan ke "koordinat warna" yang sama persis dalam ruang warna. File gambar Anda masih berisi data warna presisi penuh, namun ketika itu diberikan ke layar (atau ditampilkan untuk dicetak),

Jika kita beralih ke AdobeRGB, gamut tumbuh, ini adalah ruang warna yang lebih besar dan karenanya dapat mencakup lebih banyak pemetaan warna yang berbeda. Dengan kedalaman warna 8-bit, secara efektif Anda akan jarang memetakan ke dalam gamut yang lebih besar ini. Secara teknis, gamut mampu mendeskripsikan lebih banyak warna daripada kedalaman bit yang memungkinkan Anda untuk referensi. Faktor pembatas Anda sekarang telah bertukar ... alih-alih keseluruhan menjadi terbatas, kedalaman bit menjadi terbatas. Jika kita menggunakan warna 16-bit dalam ruang warna AdobeRGB, ada lebih banyak ruang untuk 280 triliun warna potensial kita untuk referensi warna yang berbeda. Kemungkinan banyak warna akan tetap memetakan ke koordinat aktual yang sama di ruang AdobeRGB, namun akan ada lebih sedikit tabrakan di ruang yang lebih besar ini dibandingkan dengan sRGB.

Jadi, sementara ruang warna / gamut dan kedalaman bit adalah hal yang berbeda, mereka saling terkait. Anda tidak diharuskan untuk menggunakan gamut yang lebih besar saat menggunakan kedalaman bit yang lebih tinggi untuk menyimpan data gambar Anda, namun disarankan untuk mendapatkan hasil maksimal dari kedalaman bit yang lebih tinggi. Sebaliknya, jika Anda menyimpan gambar dengan kedalaman bit yang lebih rendah, seringkali ada nilai lebih sedikit dalam merender gambar-gambar itu dengan sesuatu yang lebih dari sRGB.

Untuk memanfaatkan sepenuhnya informasi warna kedalaman bit dalam file gambar, gamut yang lebih besar, dan layar yang lebih baik secara bersamaan yang benar-benar dapat menampilkan gamut tersebut, menjadi berharga. Untuk membuat warna 10, 12, dan 16 bit pada TV atau layar komputer, gamut lebih besar dari AdobeRGB, dan bahkan lebih besar dari ProPhotoRGB, sering diperlukan untuk memanfaatkan sepenuhnya persepsi visual manusia. Mata kami adalah perangkat yang luar biasa, dan mampu menghasilkan rentang dinamis yang luar biasa dan kepekaan warna yang sangat luas. Layar 10-bit modern dengan LUT perangkat keras 12-, 14-, dan 16-bit (3D Color Look Up Tables) mampu menampilkan 1,07 miliar warna bersamaan, dipilih dari total 68,7 miliar (12-bit), 4,4 triliun (14-bit) atau 281,5 triliun (16-bit) warna yang sangat akurat dijelaskan oleh LUT.

jrista
sumber
2
"Perbedaan antara Pure Green dalam 8-bit dan 16-bit adalah 0,255,0 vs 0,65535,0." Sempurna! Itu membuat saya lebih mengerti.
BBking
1
Ruang warna bukan hanya "tingkat" (gamut); itu mencakup seluruh topologi warna di ruang. Pertimbangkan ruang warna non-RGB seperti YUV, HSL (sering diwakili sebagai silinder, bukan kubus), CMYK (ruang 4-dimensi), dll.
Jason C
@Jason: Istilah "luas" bekerja untuk objek spasial tiga dimensi. Ini tidak berarti hanya sejauh dua dimensi seperti segitiga ditumpangkan di atas plot kecerahan / saturasi penuh ruang Lab. Extent berarti keseluruhan luas ruang warna, dalam ketiga dimensi, terlepas dari bentuk aktual yang diperlukan. Saya juga menyatakan bahwa sRGB, AdobeRGB, dll. Adalah ruang warna, sedangkan RGB, YUV, HSL, CMYK, dll. Adalah model warna, bukan ruang warna. Ruang warna ADALAH 3D, tetapi umumnya mereka memiliki bentuk berlian bubur yang aneh, mereka tidak pernah berbentuk silinder atau kubik.
jrista
1
Dari sudut pandang numerik, ya. Dari sudut pandang rendering, itu tergantung pada ruang warna. ;)
jrista
1
Menggunakan contoh warna Matt, itu mungkin akan berakhir kuning cerah (255.255,0), karena itu adalah pilihan terdekat yang paling mungkin. Jika maksud Anda (255,0,0) maka itu akan berakhir oranye. Ada berbagai maksud render yang dapat digunakan saat memetakan nilai warna numerik ke koordinat ruang warna: Absolute, Relative, Saturation, Perceptual. Tergantung pada tujuannya, hasil warna yang tepat (warna "yang diberikan") akan sedikit (atau mungkin sangat, sangat tergantung pada ruang warna dan profil ICC) yang berbeda.
jrista
3

Ini adalah hal yang independen. Warna-ruang mewakili semua warna yang mungkin dan merupakan ruang kontinu. Perangkat digital membutuhkan diskritisasi ruang. Ini berarti langkah-langkah di masing-masing mereka dapat mewakili warna yang ada dalam ruang warna.

Berikut ini analogi sederhana: Hal tentang ketinggian antara dua lantai sebagai ruang warna. Itu adalah ruang di antara lantai. Sekarang berapa banyak langkah yang Anda butuhkan untuk membangun tangga dari lantai bawah ke atas? Jawabannya tergantung pada ukuran jika langkahnya. Itu adalah kedalaman bit.

Sekarang ketika Anda berbicara tentang kedalaman bit yang digunakan dalam format file, situasinya lebih kompleks karena tidak semua langkah adalah ukurannya karena kedalaman bit tidak terdistribusi secara seragam dalam arti linear. Terkadang langkah-langkah mengikuti kurva berbasis preceptual, kurva gamma atau kurva log.

Umumnya jika Anda meningkatkan kedalaman bit Anda mendapatkan gradasi lebih dalam ruang warna tetapi batas-batasnya tetap sama. Namun ada format file HDR yang menggunakan nilai titik mengambang atau titik tetap yang bahkan mungkin negatif untuk mewakili warna di luar ruang warna khusus.

Itai
sumber
Saya pikir saya masih pada tingkat pemahaman yang sama. Analogi bangunan Anda membuat saya semakin bingung. Jika Anda telah mengatakan bahwa Ruang Warna seperti jumlah level dalam sebuah bangunan (setiap level mewakili warna) sedangkan langkah-langkah dalam bangunan bisa sedikit dalam. Jadi, dalam ruang warna yang sama Anda dapat memiliki kedalaman bit yang berbeda. Jika bangunan adalah sRGB dengan langkah 8 bit, ini akan memiliki detail warna kurang dari bangunan 16 langkah sRGB. Namun, meningkatkan kedalaman bit pada lipatan ukuran bangunan. Oleh karena itu, mengubah (tetapi tidak terlalu) ruang warna ??
BBking
2
@BBking: Itu tidak benar. Keduanya tidak terhubung dengan cara itu. Ukuran bangunan tidak harus berubah jika Anda pindah ke 16 langkah, karena Anda dapat membuat langkah lebih dekat bersama daripada ketika Anda hanya memiliki 8 langkah. Kedalaman bit adalah kedekatan langkah-langkah, sedangkan ruang warna adalah ukuran bangunan. Saya telah menambahkan jawaban yang dapat membantu.
jrista
1
Perhatikan bahwa ruang warna tidak secara intrinsik mewakili semua warna yang mungkin, sebagian besar tidak. Atau apakah Anda ingin mengatakan sesuatu seperti "ruang warna X menggambarkan sekumpulan warna yang mungkin dalam X"?
phresnel
2

Mari kita coba contoh sederhana. Katakanlah kita memiliki ruang warna yang disebut "pelangi". Ini berisi warna pelangi, sehingga terdiri dari merah, oranye, kuning, hijau, biru dan ungu. Ruang warna menggambarkan kisaran warna yang dicakup oleh gamut.

Kedalaman bit di sisi lain menentukan berapa banyak warna berbeda yang dapat kita buat dalam ruang itu. Jika kita hanya memiliki beberapa bit, kita hanya akan dapat mewakili warna dasar pelangi, tetapi jika kita memiliki banyak bit, kita dapat membuat merah gelap dan merah cerah dan merah sedang, dll. Dengan lebih banyak bit, kita dapat mendefinisikan lebih banyak nilai unik dan memiliki lebih banyak warna, tetapi semuanya masih bernuansa merah, oranye, kuning, hijau, biru dan ungu.

Inilah sebabnya mengapa sebenarnya mungkin untuk memiliki kedalaman bit yang lebih tinggi mewakili kisaran warna yang lebih kecil, Anda hanya berakhir dengan ketepatan yang jauh lebih dalam warna yang tercakup.

Lebih teknis, bit rate mendefinisikan granularity warna dalam ruang warna dan ruang warna mendefinisikan nilai min dan max warna (dan mungkin beberapa hal lain juga, tergantung pada ruang), tetapi Anda dapat memiliki sejumlah langkah-langkah di antara nilai-nilai itu.

Bit tambahan untuk memperluas ruang warna yang Anda tutupi, memberikan kontrol warna yang lebih baik dalam ruang warna, atau melakukan kombinasi keduanya.

AJ Henderson
sumber
1

Cara mudah untuk memikirkan hal-hal seperti itu adalah bahwa ruang warna adalah wadah. Mereka berisi nilai warna dari ruang warna tempat mereka diciptakan. Jika itu adalah ruang warna RGB, nilainya adalah RGB- 0-255 di setiap saluran. Jika nilai CMYK 0-100.

Nilai-nilai itu tidak berubah jika volume ruang warna tidak. Apa yang mengubah volume ruang warna adalah nilai CIEXYZ yang menentukan ruang itu. Ruang warna volume yang lebih besar umumnya dapat berisi warna yang lebih jenuh. Contohnya adalah sRGB ruang warna kecil berdasarkan volume, dan ProPhoto, ruang warna besar berdasarkan volume. Membuka gambar sRGB di Photoshop menghasilkan hasil yang diharapkan, tetapi kemudian menetapkan profil ICC ProPhoto secara drastis mengubah warna gambar, dan membuatnya lebih jenuh tetapi nilai RGB tidak berubah. Hanya hubungan mereka dengan CIELab. Nilai CIEXYZ yang menentukan volume ruang warna dikonversi ke CIELab dan kemudian ke ruang tujuan.

Kedalaman bit adalah jumlah informasi warna yang tersedia dalam satu piksel. Itu dijelaskan dengan sangat baik di siniKedalaman Bit yang lebih tinggi diterapkan pada fotografi dan gambar digital memungkinkan lebih banyak informasi gambar di setiap piksel. Kedalaman bit yang lebih tinggi ini memberikan penyesuaian yang lebih besar saat membuka bayangan atau mengembalikan detail highlight. Ingat bahwa kedalaman bit piksel yang diberikan tidak ditangkap kedalaman bit. Ingatlah bahwa begitu bit atau ruang warna berkurang, itu tidak dapat diperluas. Mengambil gambar 8 bit menjadi 16 bit tidak membuat lebih banyak bit per piksel, itu hanya menggandakan bit dalam 8 bit piksel. Hal yang sama dengan ruang warna. Jika gambar dirender menjadi sRGB dan sekarang Anda ingin semua warna-warna cerah dari gambar aslinya dicetak pada printer gamut besar Anda, maaf warna-warna itu tidak ada lagi di gambar sRGB itu. Mulai lagi dan render piksel tersebut ke ruang warna yang lebih besar.

R Hall
sumber