Яка різниця між кольоровим простором та глибиною біту?


13

Я знаю, що є різні типи кольорового простору і що sRGB є найпоширенішим. Бітова глибина визначає варіації кольорового каналу, де (я думаю) 8 та / або 16 біт найбільш поширені.

Деякі можуть сказати, що вони абсолютно різні, а інші можуть сказати, що вони не є взаємовиключними.

Хтось може пояснити відмінності? Якщо ви збільшуєте бітну глибину, чому ви також не збільшуєте кольоровий простір?

Відповіді:


15

В основному, інформація про кольори життя - це як коробка з цукерками- олівцями ...

Інформація про колір зберігається в цілих числах, а не в аналогових значеннях - є дискретна, лічильна кількість кольорів, яку можна описати на певній глибині бітів.

Подумайте про кольоровий простір, як коробку з олівцями різних кольорів. Кольоровий простір описує наявні типи олівців. Подумайте "сміливі кольори", "пастелі" тощо. Бітова глибина описує кількість олівців.

Ось приклад двох різних ящиків з олівцями:

кольорові олівці

Обидва мають 16 кольорових олівців, але вони мають різну гаму кольорів - конкретно, нижній набір не поширюється на червоний. Оскільки 16 кольорів, це 4 біти глибини кольору (2⁴ = 16).

«Справжній» кольоровий простір є тривимірним, і це просто один вимір. (Тобто відтінок.) Але це робить модель, яку, сподіваюся, допомагає. Верхня "коробка" має кольоровий простір, який має крайній червоний "первинний" колір у крайніх краях, тоді як нижній - лише червонувато-помаранчевий.

Верхній кольоровий простір спочатку здається явно кращим (ви навіть не можете намалювати щось червоне із нижнім!), Але врахуйте ситуацію, коли ви малюєте пейзаж з неба, води та дерев. Нижній набір кольорових олівців може бути набагато кращим, оскільки він використовує більше своїх «шматочків» для представлення тонких відтінків зеленого та синього.

Якщо натомість. ви купили однакові кольорові гами в наборах з 64 кольорових олівців, між кожним наявним буде три нових олівці. У нижньому наборі все-таки буде більше варіантів для синього та зеленого, але через нові кольорові олівці верхній набір також матиме набагато більше варіантів у цьому діапазоні, ніж набір із 16 кольорових кольорів. Оскільки верхній набір також покриває червоний колір, з достатньою кількістю кольорових олівців було б об'єктивно краще.

Однак можна уявити вибір, де в обох ящиках щось не вистачає. Трохи простіше зрозуміти, як це може бути, якщо ми перейдемо до трохи складнішої візуалізації, тут справжнього sRGB (як телевізор або монітор комп'ютерного рівня) та стандартних фарб "SWOP" CMYK:

CMYK SWOP vs RGB - зображення мною, а рядки - приблизні

Тут ви бачите, що колірний простір CMYK SWOP¹ поширюється далі на сині, пурпурові / пурпурові та жовті, ніж можна представити в sRGB. Навіть якщо ми додамо більше біт для розрізнення доступних розрізнених кроків, кольоровий простір визначає межу . Крім того, додавання більшої кількості бітів до представлення CMYK не допомагає представляти далекі кути червоного, зеленого та синього кольорів, покритих sRGB. (І звичайно, всі вони є поганим представленням гами людського зору, представленої зовнішньою формою - якщо ви коли-небудь замислювалися, чому так важко отримати цифрові фотографії з зелені, щоб вони виглядали природними, це частина історії !)

У реальному житті, 24-бітові кольорові простори (8 біт на канал), у вас є 16,8 мільйонів кольорів. Це, як правило, добре, і широко вважають, що кольори мають більше кольорів, ніж людське око, але якщо ваш кольоровий простір дійсно великий, ви можете мати такий же ефект, коли стрибок між окремими кольорами посередині більший за ідеальний, і це можливо щоб це було помітно в певних ситуаціях.

Насправді, деякі "широкі" кольорові простори, такі як ProPhoto RGB, мають кольори на краю простору, які нічим не відповідають людському баченню . Вони теоретичні, "уявні" кольори, які змушують кольоровий простір працювати, але ефективно витрачаються. Коли ви використовуєте такий кольоровий простір з невеликою кількістю кольорових олівців (мала бітова глибина), у вас є менше варіантів дійсно корисних кольорів, що робить можливість пропущення кроків більше проблемою. Щось на зразок sRGB не може покрити далекі сині та зелені (як і відсутність червоного у наборі вище), але в обмін ви отримаєте більш точне розмежування між блюзом та фіолетовими та червоними (та зеленню, яка там є).

Якщо ми переходимо до 16 біт на канал (всього 48 біт), між кожним відтінком у вікні є 16,8 мільйона додаткових «кольорових кольорів» . Це повна надмірна кількість (як у тому, що люди могли розрізнити, так і в практичній реальності представлення тієї тонкої різниці на екрані чи друку), але це перевищення гарантує, що плавні переходи завжди доступні. А так як в реальному житті, колірні простору все приблизно призначені для покриття людського зору (навіть якщо вони не збігаються точно), ви на самому ділі не працювати в ситуацію , коли кольорово простір немає червоної взагалі - він просто може бути не дуже глибоким чи тонким.

Інша річ, яку варто врахувати, - це те, що sRGB розроблений не просто для того, щоб бути гідним рівнем людського зору, а бути представницьким на більшості споживчих пристроїв , і це стандартне припущення для кольорового керування, що не керується кольором. Це означає, що коли ви використовуєте sRGB, ви маєте найкращі шанси, що "крашанки", якими ви користуєтеся, відповідатимуть "крашанкам", якими користуються ваші глядачі. Тому я рекомендую економити на sRGB для перегляду та обміну веб-сторінками- більша глибина бітів не є розповсюдженим варіантом, і більшість людей не мають можливості заміняти набір крашанок на ваш вибір. (Сподіваємось, це стане кращим у майбутньому, але насправді це не здається пріоритетним для виробників споживчих пристроїв. Можливо, коли 3D та 4K хоопла осідають, ми можемо приділити більше уваги "глибокому кольору" - більшій глибині біт для екрани споживачів.

(Дещо з цього запозичено з моєї попередньої відповіді на те, як кольорові простори, такі як sRGB та Adobe RGB, перекриваються? )


Зноска

1. Цей конкретний приклад - це надмірне спрощення та блиск щодо реального представлення зображень CMYK та деяких інших деталей; це є гарним прикладом, тому що більшість реальних кольорових просторів розроблені так, щоб якомога більше перекриватись, і це показує щось, що має невідповідність.


ДОБРЕ. Отже, скажімо, що верхній кольоровий простір (верхній ряд кольорових олівців) має подвійну глибину нижнього нижнього, теоретично він може покривати всі кольори / відтінки як нижній? Однак якщо обидва однакові за бітовою глибиною, то ні. Він не може покривати однакові кольори / відтінки. Отже, незважаючи на те, що ви не змінюєте кольоровий простір, збільшення бітової глибини (кольорового простору) має потенціал охоплювати ті ж кольори, що й інший кольоровий простір?
BBking

@BBking Добре, що це тривимірний, а не одновимірний рядок, який дає приклад олівця, але в будь-якому випадку питання покриття в основному пов'язане з крайнощами. Подивіться на другий рядок - додавання більше біт не збирається додавати в червоні крайності. Але йти іншим шляхом, так, через те, як я його сконструював, достатньо більше бітів у верхній частині дозволить покрити більше кольорів - це не буде точно такий же, але все одно це буде плавніший градієнт. Якщо ви переходите до більше 2 ×, верхній ряд буде надруку нижнього.
Прочитайте, будь ласка, мій профіль

1
Тим НЕ менше, я міг би побудував нижній ряд , так що проходить в напрямку , верхній ряд не покриває - це може бути , що крайнощі не перекривається, і ніякого кількості біт додавання не змінить. (Див . [Питання про накладення детальніше.)
Прочитайте мій профіль

Я бачу. Зараз я не знаю, чи варто мені змінити вашу відповідь ...: /
BBking

@BBking Ну, дайте мені знати, що ще може бути зрозумілішим! :)
Прочитайте, будь ласка, мій профіль

11

Глибина біту та кольоровий простір - це не одне і те ж, і вони не є взаємовиключними. Це різні речі, які існують одночасно. Для особливо простого пояснення:

  • Бітова глибина визначає тонкість, з якою класифікується кожен окремий колір .

  • Кольоровий простір визначає ступінь поширення цих кольорів .

Давайте візьмемо sRGB та AdobeRGB як кольорові простори, а 8-бітні та 16-бітні кольори як бітові глибини. sRGB - це невеликий кольоровий простір, тоді як AdobeRGB - більший кольоровий простір. Кольорові простори або гами визначають ступінь вибору кольорів із усієї діапазону кольорів, видимих ​​людському оку (або, навіть, поза цим діапазоном, як це було б у випадку з ProPhotoRGB або деяким новим 10-bpc Телевізійні гами). Якщо відобразити колір "чистого зеленого" в sRGB, цей колір дійсно буде чистим чистим зеленим ... однак він може бути не найбільш сприйнятливим чисто зеленим. Один і той же колір "Чистий зелений" - це AdobeRGB, а в цифровій формі - той самий зелений, якщо відображено в AdobeRGB, він є більш насиченим і яскравим. (Далі, картографуйте той самий колір у ProPhotoRGB, і він знову буде ще насиченішим, ніж у AdobeRGB ... якщо, звичайно,

Тепер, наближається трохи глибини. Різниця між Pure Green у 8-бітовому та 16-бітному становить 0,255,0 проти 0,65535,0. Значно більша кількість використовується для опису зеленого каналу в чисто зеленому 16-бітному кольорі, ніж у 8-бітовому кольорі. Якщо ми введемо середній зелений колір, значення в 8-бітному може бути 0,128,0, тоді як у 16-бітовому воно буде 0,32768,0. Один і той же колір, але кількість чітких кольорів у сорті між чисто зеленим та середньо зеленим набагато більша за 16-бітового кольору. У вас є 32768 чітких рівнів зеленого між цими двома рівнями в 16-бітному, порівняно з 128 128 різними рівнями в 8-бітових. Скажімо, ми вибираємо світліший зелений, скажімо, 0,192,0 у 8-бітовому. Цей же колір буде 16,4-ти бітним 0,49152,0. Це збільшення потенційних чітких кольорів означає, що градієнти стають значно більш гладкими та тонко окресленими при використанні більшої глибини біта.

Нарешті, як спільні глибини та кольорові простори працюють разом? З вузькою гамою, як, наприклад, sRGB, у вас обмежений кольоровий простір, в якому можна відображати різні кольори. З кольором sRGB та 8-бітовим кольором кожен колір стане по-справжньому виразним, коли ви проходите всю зелень від 0,1,0 до 0,128,0 до 0,255,0. Що станеться, якщо у просторі sRGB у вас 16-бітове зображення? Числово ваше зображення має можливість представляти понад 280 трлн різних кольорів (16 + 16 + 16 біт - 48 біт, а 2 ^ 48 - 281,5 трлн). Зрозуміло ... коли числові значення RGB відображаються на кольори з обмеженою гаммою, значна кількість, що становить 280 трлн кольорів, в кінцевому підсумку отримає відображення до такої ж "кольорової координати" в кольоровому просторі. Ваш файл зображення все ще містить кольорові дані з повною точністю, проте коли він виводиться на екран (або надається для друку),

Якщо ми перейдемо до AdobeRGB, гама зростає, це більший кольоровий простір і може для цього охопити більшу кількість різних кольорових відображень. Завдяки 8-бітовій глибині кольорів, ви ефективно будете нестандартно відображати цю велику гаму. Технічно кажучи, гама здатна описати більше кольорів, ніж ваша бітова глибина дозволяє вам посилатися. Тепер ваші обмежувальні фактори змінилися ... замість того, щоб гамма була обмежувальною, бітова глибина обмежує. Якщо ми будемо використовувати 16-бітний колір у кольоровому просторі AdobeRGB, то для наших 280 трильйонів потенційних кольорів є більше місця для позначення різних кольорів. Цілком імовірно, що кілька кольорів все одно будуть відображати однакові фактичні координати в просторі AdobeRGB, однак у цьому більшому просторі буде зіткнення набагато менше, ніж у sRGB.

Отже, хоча кольоровий простір / гамма та глибина бітів - це різні речі, вони взаємопов'язані. Вам не потрібно використовувати більшу гаму при використанні більшої бітової глибини для зберігання даних зображень, однак бажано отримати максимальну користь від цієї більшої бітової глибини. І навпаки, якщо ви зберігаєте зображення з меншою глибиною бітів, часто виводите ці зображення з меншим значенням, ніж sRGB.

Щоб повною мірою скористатися інформацією про кольори з високою глибиною у файлі зображень, великі гами та одночасно кращі екрани, які реально відображають ці гами, стають цінними. Щоб відобразити 10, 12 та 16 бітовий колір на телевізорах чи комп’ютерних екранах, часто потрібні гами, що перевищують AdobeRGB і навіть більше, ніж ProPhotoRGB, щоб повністю використовувати перевагу візуального сприйняття людини. Наші очі - це дивовижні пристрої, здатні до неймовірного динамічного діапазону та надзвичайно широкої чутливості кольорів. Сучасні 10-бітні екрани з 12-, 14- та 16-бітними апаратними LUT (3D Color Look Up Tables) здатні відображати 1,07 мільярда одночасних кольорів, вибраних із загальної кількості 68,7 мільярда (12 біт), 4,4 трлн (14-бітний) або 281,5 трлн (16-бітових) кольорів, які дуже точно описані LUT.


2
"Різниця між чистим зеленим у 8-бітовому та 16-бітному становить 0,255,0 проти 0,65535,0". Ідеально! Це змусило мене зрозуміти набагато краще.
BBking

1
Кольоровий простір - це не просто "міра" (гамма); він охоплює всю топологію кольорів у просторі. Розглянемо кольорові простори без RGB, такі як YUV, HSL (часто представлені у вигляді циліндра замість куба), CMYK (4-мірний простір) тощо.
Джейсон С

@Jason: Термін "ступінь" працює для тривимірних просторових об'єктів. Це не означає просто двовимірну міру, таку як трикутник, накладений на поверхню повної яскравості / насиченості простору лабораторії. Обсяг означає весь обсяг кольорового простору у всіх трьох вимірах, незалежно від фактичної форми, яку приймає. Я також зазначу, що sRGB, AdobeRGB тощо є кольоровими просторами, тоді як RGB, YUV, HSL, CMYK тощо - кольорові моделі, а не кольорові простори. Кольорові простори - 3D, але, як правило, вони мають дивовижні форми ромба, вони ніколи не мають циліндричного або кубічного характеру.
jrista

1
З чисельної точки зору, так. З точки зору візуалізації, це залежить від кольорового простору. ;)
jrista

1
Використовуючи кольори прикладу Метта, це, ймовірно, закінчиться яскраво-жовтим (255,255,0), оскільки це найближчий життєздатний варіант. Якщо ви маєте на увазі (255,0,0), то це закінчиться помаранчевим. Існують різні наміри візуалізації, які можна використовувати при зіставленні числових значень кольорів у кольорово-просторових координатах: Абсолютна, Відносна, Насиченість, Перцептуальна. Залежно від наміру, точний результат кольоротипу ("наданий" колір) буде дещо (або, можливо, дико, насправді залежить від колірного простору та профілю ICC) різним.
jrista

3

Це самостійні речі. Кольоровий простір представляє всі можливі кольори і є суцільним простором. Цифрові пристрої вимагають дискретизації місця. Це означає, що на кожному етапі вони можуть представляти кольори, що знаходяться в кольоровому просторі.

Ось проста аналогія: річ про висоту між двома поверхами як кольоровий простір. Тобто простір між поверхами. Тепер скільки кроків потрібно, щоб побудувати сходи від нижнього поверху до верхнього? Відповідь залежить від розміру, якщо крок. Це бітова глибина.

Тепер, коли ви говорите про бітові глибини, які використовуються у форматах файлів, ситуація є більш складною, оскільки не всі кроки мають розмір, який полягає в тому, що глибина бітів не є рівномірно розподіленою в лінійному сенсі. Іноді кроки слідують за попередньою кривою, гамма-кривою або кривою журналу.

Як правило, якщо збільшити глибину бітів, ви отримаєте більше градації в кольоровому просторі, але його межі залишаються такими ж. Однак існують формати файлів HDR, які використовують значення з плаваючою точкою або фіксованою точкою, які можуть бути навіть негативними, щоб представити кольори поза спеціальним кольоровим простором.


Я думаю, що я все ще на тому ж рівні розуміння. Ваша аналогія будівництва мене ще більше збентежила. Якщо ви говорили, що Колірний простір - це як кількість рівнів у будівлі (кожен рівень представляє колір), тоді як кроки в будівлі можуть бути трохи бітними. Отже, в одному кольоровому просторі ви можете мати різну глибину бітів. Якщо будівля має sRGB з 8-бітними кроками, це матиме менше кольорових деталей, ніж 16-бітова ступінь sRGB. Однак, збільшуючи глибину біту, збільшується розмір будівлі. Тому змінюючи (але не сильно) кольоровий простір ??
BBking

2
@BBking: Це не зовсім правильно. Двоє не пов'язані таким чином. Розміри будівлі не повинні змінюватися, якщо ви переходите на 16 кроків, оскільки ви можете зробити кроки ближче один до одного, ніж коли у вас є лише 8 кроків. Бітова глибина - це близькість ступенів, а кольоровий простір - розмір будівлі. Я додав відповідь, яка може допомогти.
jrista

1
Зауважте, що кольоровий простір не представляє по суті всіх можливих кольорів, більшість - не. Або ви хотіли сказати щось на кшталт "кольоровий простір X описує набір можливих кольорів у X"?
френель

2

Давайте спробуємо простий приклад. Скажімо, у нас є кольоровий простір під назвою "веселка". Він містить кольори веселки, тому складається з червоного, оранжевого, жовтого, зеленого, синього та фіолетового. Кольоровий простір описує діапазон кольорів, охоплених гамою.

З іншого боку, глибина біту визначає, скільки різних кольорів ми можемо зробити в цьому просторі. Якби у нас було лише кілька біт, ми могли б представляти лише основні кольори веселки, але якби у нас була купа біт, ми могли б зробити темні червоні та яскраві червоні та середні червоні тощо. ми можемо визначити більш унікальні значення і так мати більше кольорів, але вони все одно мають всі відтінки червоного, оранжевого, жовтого, зеленого, синього та фіолетового.

Ось чому насправді можливо, щоб більша глибина біту представляла менший діапазон кольорів, ви просто в кінцевому підсумку з набагато більшою точністю в кольорах, які покриваються.

Більш технічно, швидкість передачі бітів визначає зернистість кольорів у колірному просторі, а кольоровий простір визначає значення мінімальних і максимальних кольорів (і, можливо, також деякі інші речі, залежно від простору), але ви можете мати будь-яку кількість кроки між цими значеннями.

Додаткові біти розширюють кольоровий простір, який ви охоплюєте, надаєте більш тонкий контроль над кольорами в кольоровому просторі або виконайте комбінацію двох.


1

Простий спосіб подумати про такі речі - кольорові простори є контейнерами. Вони містять значення кольорів кольорового простору, для якого вони були створені. Якщо вони є кольоровими просторами RGB, значення RGB-0-255 в кожному каналі. Якщо значення CMYK 0-100.

Ці значення не змінюються, якщо є об'єм кольорового простору. Що змінює гучність кольорового простору - це значення CIEXYZ, які визначають цей простір. Колірний простір більшого обсягу, як правило, може містити кольори, які є більш насиченими. Прикладом цього є sRGB невеликий кольоровий простір за обсягом, а ProPhoto - великий кольоровий простір за обсягом. Відкриття зображення sRGB у Photoshop дає очікуваний результат, але потім присвоєння профілю ProPhoto ICC різко змінює колір зображення та робить його більш насиченим, але значення RGB не змінюються. Якраз їх стосунки до CIELab. Ці значення CIEXYZ, які визначають об'єм кольорового простору, перетворюються в CIELab, а потім у місце призначення.

Бітова глибина - це кількість кольорової інформації, доступної в пікселі. Це дуже добре пояснено тутБільша глибина біта, застосована до фотографії та цифрових зображень, дозволяє отримати більше інформації про зображення в кожному пікселі. Ця більша глибина бітів забезпечує більшу регульованість під час відкриття тіней або повернення деталей підсвічування. Пам'ятайте, що виведена піксельна глибина біта не захоплена бітова глибина. Пам’ятайте, що після зменшення біт або кольорового простору його не можна розширити. Якщо 8-бітове зображення до 16 біт не створює більше біт на піксель, воно просто подвоює біти в 8-бітовому пікселі. Те ж саме і з кольоровими просторами. Якщо зображення було надано в sRGB і тепер ви хотіли б, щоб усі ці яскраві кольори з оригінального зображення, надруковані на вашому великому принтері з гамою, вибачте, що цих кольорів у цьому sRGB-зображенні більше немає. Почніть спочатку і виведіть ці пікселі в більший кольоровий простір.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.