Що означає термін "канал", коли він використовується в комп'ютерній графіці?


16

Я вивчав термінологію комп’ютерної графіки, і ця заява прийшла в збентеження.

Зображення може мати альфа-канали для прозорості.

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

Відповіді:


40

Цифрові кольори можуть складатися з трьох компонентів: червоного, зеленого та синього. Комбінуйте їх разом, і ви отримаєте остаточний колір, наприклад. жовтий - 100% червоний, 100% - зелений і 0% - синій.

Четвертий компонент - це, як ви вже згадували, прозорість. Разом вони утворюють кортеж RGBA(червоний, зелений, синій, альфа), який являє собою зображення.

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

  • Усі червоні пікселі на одному шарі
  • Усі зелені пікселі на одному шарі
  • Усі сині пікселі на одному шарі
  • Значення, що вказує на прозорість на одному шарі

Ці шари насправді називають "каналами". Ось як вони виглядають на зразковому зображенні:

enter image description here

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


3
Чудова відповідь, і дякую за інформацію. Мені подобається, як ти використовував образи для пояснення концепції.
Stync

1
Ви також можете згадати інші кольорові системи, тому що добавка - не єдина використовувана
jcora

4
Чи не повинні ці зображення на одному каналі мати значення від нульового значення (чорного) до повного значення (наприклад, червоного) замість чорного> червоного> білого (наприклад), як показано? (Щось подібне: f.cl.ly/items/2Q2C1z2s331f1T1U341G/images.png )
Slipp D. Thompson

1
@ SlippD.Thompson має рацію. У RGB білий колір робиться тим, що кожен кольоровий канал має повну інтенсивність, тобто зображення попелястого кольору 999 дещо рихле з правилами.
Олексій

4
Я вибрав цю картину, тому що вона є наочною. ОП здається розгубленою щодо концепції. Пояснення поняття більш просто здавалося важливішим, ніж пошук точного зображення. Технічно це повинні бути чотири шари сірого кольору (що таке моє початкове зображення), але це більш заплутано.
ashes999

6

Термін походить від визначення "канал", що означає конкретну частину частотного спектру. У цьому випадку червоний, зелений та синій компоненти кольору часто називають «каналами» (оскільки червоне, зелене та синє світло - це частини спектру видимого світла).

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


4

Альфа-канали були фактично винайдені компанією Джорджа Лукаса Industrial Light & Magic (насправді Елві Рей Сміт робив більшу частину роботи під час роботи там, який раніше працював у Xerox PARC - кому ми можемо подякувати за майже все в сучасних обчисленнях!).

Альфа-канали, окрім виконання крутих ефектів, таких як прозоре вікно, прозорі градієнти та реалістичні тіні, можуть використовуватися для операцій із пікселями. Насправді первісне використання було тому, що комп’ютерна графіка в той час смоктала. Для того, щоб добре накласти зображення на інший фон (або фон живого фільму), ви закінчитеся блокуючими краями. Це не зробить для фільму, а спроба анти-псевдоніму зображень з фоном займає занадто багато часу в процесорі. Отже .. краї зображення зроблені напівпрозорими (альфа-канал). Це дозволяє відображати фон із різною щільністю - змішуючи кольори двох зображень разом, щоб запобігти його псевдоніму. Це використовується сьогодні скрізь, наприклад, для малювання піктограм із набагато більш гладкими краями, ніж зазвичай дозволить роздільна здатність - і ви не '

Альфа-канали легко виконуються апаратно. Машини раннього виробництва фільмів мали біт "генлок" (який був доступний і на Amiga, і на деяких машинах Atari), який в основному був вихідним штифтом, який переходив з комп'ютерного виходу на відео вихід. Штифт керувався бітом "прозорості" у виході (як правило, з графіками "hicolor" 5: 5: 5 для RGB і 1 біт для прозорості = 16 біт / пікселів), що дозволило легко накладати контекст, створений комп'ютером, наживо відео без оцифрування відео. Пізніше це було змінено на аналоговий вихід з 8-бітовим ЦАП - тому замість переключення між комп'ютером і відео в реальному часі він змішував його - видаляючи неприємні блокадні краї, які використовувала 1-бітна техніка. Аналоговий згладжування!

Сучасні відеокарти можуть зберігати відразу декілька шарів інформації в пам'яті та використовувати альфа-шар для змішування декількох шарів прозорості альфа-обладнання в апаратному забезпеченні. Це робить ваші «спрайти» та інші об’єкти, які потребують антисемінаційного вигляду, добре виглядати. Замість змішування до фіксованого фонового кольору антисеалінг використовує альфа-канал для змішування під час руху. Звичайно, ви можете робити всілякі речі з альфа-каналом, але я сподіваюся, що це дає вам початок. Для отримання додаткової історії спробуйте wikipedia.


Ви могли б надати якісь посилання / цитати на те, що AC було винайдено компанією IL&M?

Ось хороший огляд самого Елві у своєму блозі, тут: alvyray.com/awards/AwardsAcademy96.htm . Це дозволило б припустити, що його винайшли Елві Рей та Ед Кетмулл, поки вони були в Нью-Йорку. Обидва пізніше заснували Pixar.
mvl

Я забуваю, де я його спочатку читав, але згадується вікіпедія
Еван Ланглуа

3

Жоден з інших прикладів не пояснює, чому це альфа. Це з виразу в Alpha Compositing :

введіть тут опис зображення

де Ca і Cb - два вхідних значення кольору, а Co - вихідний комбінований колір.

Змінюючи альфа між 0 і 1, змінюється колір між зображеннями спереду та ззаду.

(Обробка зображень також має "гамма", але не "бета", наскільки я знаю)


2

Усі зображення мають 1 або більше "каналів" інформації. Наприклад, знайомий тип зображення RGB має 3 канали інформації: червоний, зелений та синій. Тобто кожен піксель зображення має 3 числа, пов’язані з ним (якщо кожне число - 8 біт, то це 24-бітове зображення).

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

Поширені формати файлів з альфа-каналами - PNG та TGA.


2

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


2

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

Оскільки часто вигідним є вирівнювання пам’яті певними способами, вони інколи пакуються в 32 біти простору кожен. Це залишає 8 біт додаткових даних у кінці кожного пікселя. Оскільки це не є ні червоним, ні зеленим, ні блакитним, йому потрібна назва - і альфа була відносно безглуздою назвою.

Тепер, коли у вас є масив пікселів, розташованих у прямокутник, ви отримуєте це:

   RGBARGBARGBARGBA
   RGBARGBARGBARGBA
   RGBARGBARGBARGBA
   RGBARGBARGBARGBA

іноді хочеться поговорити лише про один із кольорів, наведених вище, скажімо, червоний:

   R***R***R***R***
   R***R***R***R***
   R***R***R***R***
   R***R***R***R***

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

Є інші формати зображень, де немає альфа-каналу:

   RGBRGBRGBRGB
   RGBRGBRGBRGB
   RGBRGBRGBRGB
   RGBRGBRGBRGB

і є формати з різною кількістю біт на піксельну складову (3,5,8,16,32), а деякі мають нерівномірні біти на піксельну складову.

Канал стає "віртуальним" масивом лише одного піксельного компонента. (Я кажу віртуально, тому що між кожним елементом є крок, тоді як масиви традиційно не мають такого кроку)

Частина RGB також не зафіксована - у вас може бути зображення сірого масштабу з альфа-каналом або без нього, ви можете мати зображення CMYK (Cyan Magenta Yellow blacK, як правило, у віднімаючому кольоровому просторі), ви можете мати зображення, яке має ціла безліч різних кольорових каналів, створених дзеркальним променевим лучником або науковим інструментом.

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

    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA
    RRRRGGGGBBBBAAAA

або навіть

    RRRR
    RRRR
    RRRR
    RRRR
    GGGG
    GGGG
    GGGG
    GGGG
    BBBB
    BBBB
    BBBB
    BBBB
    AAAA
    AAAA
    AAAA
    AAAA

або пакують RGB, а A зберігаються в окремому буфері.

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

Альфа-канал часто використовується для інформації про прозорість. Прикро, що максимальне значення альфа іноді трактується як прозоре, а іноді як непрозоре, різними базами коду. В даний час це знову рідше. Альфа-канал також використовувались для впорядкування z-буфера (наскільки піксель знаходиться від глядача), щоб дозволити малюнок до невпорядкованого зображення, а традиційне картографічне відображення здійснювалося шляхом введення зображення 2х 2x (або 4х менших пікселів) у зображення нижчої роздільної здатності альфа-канал зображення з більшою роздільною здатністю, рекурсивно.

Навіть у системі, яка використовує пікселі RGBA, значення цих пікселів може не погоджуватися. Чи вимірює R, скільки червоного бачить людина, або скільки фотонів червоного кольору повинно випромінюватися? Це різниця між лінійними та нелінійними кольоровими просторами, і це впливає на правильний спосіб складання зазначених пікселів з каналом прозорості.

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