คำว่า "channel" หมายถึงอะไรเมื่อใช้เกี่ยวกับคอมพิวเตอร์กราฟิก


16

ฉันกำลังศึกษาคำศัพท์สำหรับคอมพิวเตอร์กราฟิกส์และคำสั่งนี้ทำให้ฉันสับสน

ภาพสามารถมีช่องอัลฟาเพื่อความโปร่งใส

ฉันพยายามค้นหาความหมายของคำว่า "อัลฟาแชนเนล" แต่ฉันสับสนโดยคำจำกัดความที่ใช้แนวคิดอื่นที่เรียกว่า "แชแนล" ฉันไม่แน่ใจว่าสิ่งนี้หมายถึงอะไรดังนั้นใครบางคนอาจจะใจดีพอที่จะอธิบายคำศัพท์นี้ให้ฉันได้

คำตอบ:


40

สีดิจิทัลประกอบด้วยองค์ประกอบสามส่วนคือสีแดงสีเขียวและสีน้ำเงิน รวมสิ่งเหล่านี้เข้าด้วยกันและคุณจะได้สีสุดท้ายเช่น สีเหลืองคือสีแดง 100% สีเขียว 100% และสีน้ำเงิน 0%

องค์ประกอบที่สี่คือความโปร่งใส รูปแบบเหล่านี้ประกอบด้วย tuple RGBA(สีแดง, สีเขียว, สีน้ำเงิน, อัลฟา) ซึ่งเป็นตัวแทนของรูปภาพ

ทีนี้แทนที่จะเป็นพิกเซลลองคิดอีกวิธี: ถ้าคุณแบ่งภาพเป็นสี่เลเยอร์ล่ะ คุณสามารถแยกพวกมันออกเป็นดังนี้

  • พิกเซลสีแดงทั้งหมดในหนึ่งเลเยอร์
  • พิกเซลสีเขียวทั้งหมดในหนึ่งเลเยอร์
  • พิกเซลสีน้ำเงินทั้งหมดในหนึ่งเลเยอร์
  • ค่าที่ระบุความโปร่งใสในชั้นหนึ่ง

เลเยอร์เหล่านี้เรียกว่า "แชแนล" นี่คือลักษณะที่ปรากฏในภาพตัวอย่าง:

ป้อนคำอธิบายรูปภาพที่นี่

ในภาพนี้คุณสามารถเห็นเฉพาะพิกเซลสีแดงในช่องสีแดง เช่นเดียวกันสำหรับสีเขียวและสีน้ำเงิน นั่นคือทั้งหมดที่มันหมายถึง - วิธีคิดเกี่ยวกับภาพในฐานะ "ช่องทาง" ของสีแยกกันซึ่งรวมเข้าด้วยกัน


3
คำตอบที่ดีและขอบคุณสำหรับข้อมูล ฉันชอบที่คุณใช้รูปภาพเพื่ออธิบายแนวคิด
Stync

1
คุณอาจต้องการพูดถึงระบบสีอื่น ๆ เพราะสารเติมแต่งไม่ใช่ตัวเดียวที่ใช้
jcora

4
รูปภาพต่อแชแนลเหล่านั้นไม่ควรมีค่าจาก zero-value (black) ถึง full-value (เช่น red) แทน black-> red-> white (เช่น) ตามที่แสดง (บางสิ่งเช่นนี้: f.cl.ly/items/2Q2C1z2s331f1T1U341G/images.png )
Slipp D. Thompson

1
@ SlippD.Thompson ถูกต้อง ใน RGB สีขาวถูกสร้างขึ้นโดยการให้แต่ละช่องสีมีความเข้มเต็มที่หมายความว่าภาพของ ashes999 นั้นหลวมไปตามกฎเล็กน้อย
อเล็กซ์

4
ฉันเลือกภาพนี้เพราะมันเป็นตัวอย่าง OP ดูเหมือนสับสนเกี่ยวกับแนวคิด การอธิบายแนวคิดดูเหมือนจะสำคัญกว่าการค้นหาภาพที่แน่นอน โดยทางเทคนิคแล้วมันควรจะเป็นเลเยอร์สีเทาสี่ชั้น (ซึ่งเป็นภาพเริ่มต้นของฉัน) แต่ก็ทำให้เกิดความสับสนมากขึ้น
ashes999

6

คำนี้มาจากคำนิยามของ "ช่อง" ซึ่งหมายถึงส่วนเฉพาะของสเปกตรัมความถี่ ในกรณีนี้ส่วนประกอบสีแดงสีเขียวและสีน้ำเงินมักเรียกกันว่า "ช่อง" (เนื่องจากแสงสีแดงสีเขียวและสีน้ำเงินเป็นส่วนหนึ่งของสเปกตรัมแสงที่มองเห็นได้)

เนื่องจากอัลฟาเป็นส่วนประกอบของสีในคอมพิวเตอร์กราฟิกส์ (แม้ว่าจะไม่เกี่ยวข้องกับแสงที่มองเห็นเหมือนอย่างอื่น) แต่ก็เรียกอีกอย่างว่าช่อง


4

ช่องอัลฟ่านั้นคิดค้นโดย บริษัท Industrial Lucas & Magic ของจอร์จลูคัส (อันที่จริงแล้ว Alvy Ray Smith ทำงานส่วนใหญ่ในขณะที่ทำงานที่นั่นซึ่งก่อนหน้านี้ทำงานกับ Xerox PARC ซึ่งเราสามารถขอบคุณเกือบทุกอย่างในคอมพิวเตอร์สมัยใหม่!)

ช่องอัลฟ่านอกเหนือจากการทำเอฟเฟ็กต์เจ๋ง ๆ เช่นหน้าต่างโปร่งใสการไล่ระดับสีโปร่งใสและเงาที่เหมือนจริงสามารถใช้สำหรับการดำเนินงานย่อยพิกเซล ในความเป็นจริงการใช้งานเดิมเป็นเพราะคอมพิวเตอร์กราฟิกในเวลาดูด เพื่อที่จะวางซ้อนภาพต่อต้านนามแฝงบนพื้นหลังที่แตกต่างกัน (หรือพื้นหลังของภาพยนตร์สด) คุณจะจบลงด้วยขอบบล็อค สิ่งนั้นจะไม่ทำอะไรกับภาพยนตร์และพยายามที่จะต่อต้านนามแฝงภาพที่มีพื้นหลังใช้เวลา CPU นานเกินไป ดังนั้น .. ขอบของภาพถูกสร้างแบบกึ่งโปร่งใส (ช่องอัลฟา) สิ่งนี้ทำให้พื้นหลังแสดงผ่านความหนาแน่นที่แตกต่างกัน - ผสมสีของภาพทั้งสองเข้าด้วยกันเพื่อป้องกันภาพแทน ตัวอย่างเช่นนี้จะใช้ทุกที่ในวันนี้เพื่อวาดไอคอนที่มีขอบนุ่มนวลกว่าความละเอียดปกติที่จะอนุญาต - และคุณไม่ต้อง

ช่องอัลฟ่านั้นทำได้อย่างง่ายดายในฮาร์ดแวร์ เครื่องผลิตภาพยนตร์ยุคแรกมีบิต "genlock" (ซึ่งมีอยู่ใน Amiga และเครื่อง Atari บางเครื่องเช่นกัน) ซึ่งโดยทั่วไปแล้วจะเป็น pin output ที่เปลี่ยนจากคอมพิวเตอร์เป็นวิดีโอเอาต์พุต พินถูกขับเคลื่อนโดยบิต "โปร่งใส" ในเอาต์พุต (โดยปกติจะมีโหมด "hicolor" กราฟิก 5: 5: 5 สำหรับ RGB และ 1 บิตเพื่อความโปร่งใส = 16 บิต / พิกเซล) ซึ่งอนุญาตให้วางซ้อนของคอมพิวเตอร์ได้ง่าย วิดีโอโดยไม่มีการแปลงวิดีโอเป็นดิจิทัล ต่อมาถูกดัดแปลงให้เป็นเอาท์พุทแบบอะนาล็อกที่มี DAC แบบ 8 บิต - ดังนั้นแทนที่จะสลับระหว่างคอมพิวเตอร์และวิดีโอสดมันผสมผสานกัน - ลบขอบบล็อกที่น่ารังเกียจที่ใช้เทคนิค 1 บิต อะนาล็อกต่อต้านนามแฝง!

การ์ดแสดงผลที่ทันสมัยสามารถจัดเก็บข้อมูลหลายชั้นในหน่วยความจำพร้อมกันและใช้เลเยอร์อัลฟ่าเพื่อผสมผสานความโปร่งใสอัลฟาหลายชั้นในฮาร์ดแวร์ สิ่งนี้ทำให้ "สไปรต์" ของคุณและวัตถุอื่น ๆ ที่ต้องต่อต้านนามแฝงดูดี แทนที่จะผสมเป็นสีพื้นหลังแบบคงที่การต่อต้านนามแฝงจะใช้อัลฟาแชนเนลเพื่อผสมกันในทันที แน่นอนคุณสามารถทำทุกสิ่งได้ด้วยอัลฟ่าแชนเนล แต่ฉันหวังว่าสิ่งนี้จะช่วยให้คุณเริ่มต้นได้ สำหรับประวัติเพิ่มเติมลองวิกิพีเดีย


คุณสามารถให้ข้อมูลอ้างอิง / การอ้างอิงใด ๆ กับข้อเท็จจริงที่ AC ได้คิดค้นโดย IL&M หรือไม่

มีภาพรวมที่ดีโดย Alvy ตัวเองในบล็อกของเขาที่นี่: alvyray.com/awards/AwardsAcademy96.htm นี่จะแนะนำว่ามันถูกคิดค้นโดย Alvy Ray และ Ed Catmull ขณะที่พวกเขาอยู่ที่ NYIT ภายหลังทั้งสองก่อตั้งพิกซาร์
mvl

ฉันลืมที่ฉันอ่านมัน แต่วิกิพีเดียกล่าวถึงมัน
Evan Langlois

3

ไม่มีตัวอย่างอื่นที่อธิบายว่าทำไมมันถึงเป็นอัลฟา มันมาจากการแสดงออกในการCompositing อัลฟ่า :

ป้อนคำอธิบายรูปภาพที่นี่

โดยที่ Ca และ Cb เป็นค่าสีอินพุตสองค่าและ Co คือสีที่รวมเอาท์พุท

การเปลี่ยนอัลฟ่าระหว่าง 0 ถึง 1 จะเปลี่ยนสีไปมาระหว่างภาพที่ผสมด้านหน้าและด้านหลัง

(การประมวลผลภาพยังมี "แกมม่า" แต่ไม่ "เบต้า" เท่าที่ฉันรู้)


2

รูปภาพทั้งหมดมี "ช่อง" ของข้อมูลอย่างน้อย 1 รายการ ตัวอย่างเช่นประเภทภาพ RGB ที่คุ้นเคยมีข้อมูล 3 ช่องทางคือสีแดงสีเขียวและสีน้ำเงิน นั่นคือทุกพิกเซลในภาพมีตัวเลข 3 ตัวเชื่อมโยงกัน (ถ้าแต่ละหมายเลขคือ 8 บิตนั่นคือรูปที่ 24 บิต)

อัลฟ่าสามารถเพิ่มช่องทางที่ 4 ของข้อมูล (ดังนั้นจำนวนที่ 4 ที่เชื่อมโยงกับแต่ละพิกเซลและรูปภาพ 32 บิต) ช่องทางพิเศษนี้สามารถใช้เพื่อวัตถุประสงค์ที่หลากหลาย แต่จุดประสงค์ที่พบบ่อยที่สุดคือความโปร่งใส

รูปแบบไฟล์ทั่วไปที่มีช่องอัลฟาคือ PNG และ TGA


2

ในรูปแบบภาพจำนวนมากพิกเซลถูกกำหนดเป็นเวกเตอร์ที่มี 4 องค์ประกอบ RGB และอัลฟา ในมุมมองของภาพทั้งหมดคุณสามารถเลือกได้เฉพาะองค์ประกอบแต่ละส่วนของพิกเซลและนี่เป็นชุดของค่า หากคุณต้องการประมวลผลเพียงองค์ประกอบเดียวคุณสามารถเลือก comonent ของพิกเซลทั้งหมดของภาพและโดยปกติจะเรียกว่าแชนเนล ชุดขององค์ประกอบหนึ่งสำหรับพิกเซลทั้งหมด จากนั้นช่องอัลฟาหมายถึงการรวบรวมองค์ประกอบอัลฟา ในทำนองเดียวกันคอลเลกชันของแต่ละองค์ประกอบ 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 สีเหลืองมักจะอยู่ในพื้นที่สีลบ) คุณสามารถมีภาพที่มี มากมายของช่องสีที่แตกต่างที่สร้างขึ้นโดย raytracer specular หรือเครื่องมือทางวิทยาศาสตร์

แม้ว่าฉันจะใช้พิกเซลเหมือนว่ามันต่อเนื่องกันตลอดเวลา แต่ก็เป็นไปได้ที่จะแยกช่องสัญญาณออกเป็นหลาย ๆ สถานที่เช่นนี้

    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 (ระยะห่างจากพิกเซลของผู้ดู) เพื่อให้สามารถวาดภาพที่ไม่มีการเรียงลำดับไปยังฉากหนึ่งได้ ช่องอัลฟาของภาพความละเอียดสูงขึ้นแบบเรียกซ้ำ

แม้ในระบบที่ใช้พิกเซล RGBA ความหมายของพิกเซลเหล่านี้อาจไม่เห็นด้วย R ทำการวัดว่ามนุษย์เห็นเป็นสีแดงมากแค่ไหนหรือควรปล่อยโฟตอนออกมากี่สี? นี่คือความแตกต่างระหว่างช่องว่างสีแบบเส้นตรงและแบบไม่เป็นเส้นตรงและมีผลกระทบต่อวิธีการที่ถูกต้องในการประกอบพิกเซลดังกล่าวด้วยช่องโปร่งใส

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.