อ่าน 3 นาที
พาเล็ต (คอมพิวเตอร์)
ในกราฟิกคอมพิวเตอร์พาเล็ตต์คือชุดสีที่ใช้ได้สำหรับการสร้างภาพ ในบางระบบ พาเล็ตต์จะถูกกำหนดตายตัวโดยการออกแบบฮาร์ดแวร์ ในขณะที่บางระบบจะเป็นแบบไดนามิก โดยทั่วไปจะใช้ตารางค้นหาสี...
พาเล็ต (คอมพิวเตอร์)
| ความลึกของสี |
|---|
| ที่เกี่ยวข้อง |
ในกราฟิกคอมพิวเตอร์พาเล็ตต์คือชุดสีที่ใช้ได้สำหรับการสร้างภาพ ในบางระบบ พาเล็ตต์จะถูกกำหนดตายตัวโดยการออกแบบฮาร์ดแวร์ ในขณะที่บางระบบจะเป็นแบบไดนามิก โดยทั่วไปจะใช้ตารางค้นหาสี (CLUT) ซึ่งเป็นตารางความสัมพันธ์ที่กำหนดดัชนีให้กับสีที่เลือกจาก ช่วงการสร้างสีของ ปริภูมิสีที่กำหนด เพื่อใช้ในการอ้างอิง การอ้างอิงสีผ่านดัชนีซึ่งใช้ข้อมูลน้อยกว่าที่จำเป็นในการอธิบายสีจริงในปริภูมิสี เทคนิคนี้มีเป้าหมายเพื่อลดการใช้ข้อมูล รวมถึงการประมวลผล แบนด์วิดท์ในการถ่ายโอน การใช้ RAM และพื้นที่จัดเก็บ ภาพที่สีถูกระบุโดยการอ้างอิงถึง CLUT เรียกว่าภาพ สีแบบมีดัชนี
คำอธิบาย
ณ ปี 2019 พื้นที่สีภาพที่ใช้กันมากที่สุดในกราฟิกการ์ดคือโมเดลสี RGB ที่มี ความลึกสี 8 บิตต่อพิกเซลโดยใช้เทคนิคนี้ 8 บิตต่อพิกเซลจะถูกใช้เพื่ออธิบาย ระดับ ความสว่างในแต่ละช่องสัญญาณ RGBดังนั้น 24 บิตจึงสามารถอธิบายสีของแต่ละพิกเซลได้อย่างสมบูรณ์ ดังนั้นจานสีของระบบทั้งหมดสำหรับฮาร์ดแวร์ดังกล่าวจึงมี 2 <sup> 24 </sup> สี วัตถุประสงค์ของการใช้จานสีขนาดเล็กกว่าผ่าน CLUT คือการลดจำนวนบิตต่อพิกเซลโดยการลดชุดสีที่เป็นไปได้ที่จะต้องจัดการในคราวเดียว (มักใช้วิธีการปรับตัว) แต่ละสีที่เป็นไปได้จะถูกกำหนดดัชนี ซึ่งช่วยให้สามารถอ้างอิงแต่ละสีได้โดยใช้ข้อมูลน้อยกว่าที่จำเป็นในการอธิบายสีอย่างสมบูรณ์ ตัวอย่างเช่น จานสี 256 สีที่ใช้กันทั่วไปใน รูปแบบไฟล์ GIFซึ่งสี 256 สีที่จะใช้ในการแสดงภาพจะถูกเลือกจากพื้นที่สี 24 บิตทั้งหมด โดยแต่ละสีจะถูกกำหนดดัชนี 8 บิต ด้วยวิธีนี้ แม้ว่าระบบจะสามารถสร้างสีใดๆ ก็ได้ในพื้นที่สี RGB (ตราบใดที่ข้อจำกัด 256 สีอนุญาต) แต่ความต้องการพื้นที่จัดเก็บข้อมูลต่อพิกเซลจะลดลงจาก 24 บิตเหลือ 8 บิตต่อพิกเซล
จานสีหลัก
ในแอปพลิเคชันที่แสดงภาพ ขนาดย่อจำนวนมาก ในรูปแบบโมเสกบนหน้าจอ โปรแกรมอาจไม่สามารถโหลดพาเล็ตสีแบบปรับได้ของภาพขนาดย่อแต่ละภาพที่แสดงพร้อมกันลงในรีจิสเตอร์สีของฮาร์ดแวร์ได้ วิธีแก้ปัญหาคือการใช้พาเล็ตสีหลัก ทั่วไป หรือพาเล็ตสีสากล เพียงหนึ่งเดียว ซึ่งสามารถใช้แสดงภาพได้ทุกประเภทด้วยความแม่นยำที่เหมาะสม
วิธีการนี้ทำได้โดยการเลือกสีในลักษณะที่จานสีหลักประกอบด้วยพื้นที่สี RGB เต็ม รูปแบบ "ในขนาดเล็ก" โดยจำกัดระดับที่เป็นไปได้ของส่วนประกอบสีแดง สีเขียว และสีน้ำเงิน การจัดเรียงแบบนี้บางครั้งเรียกว่าจาน สี แบบสม่ำเสมอ[ 1 ]ดวงตาของมนุษย์ปกติมีความไวต่อสีหลักทั้งสามในระดับที่แตกต่างกัน คือ สีเขียวมีความไวมากกว่า สีน้ำเงินมีความไวน้อยกว่า ดังนั้นการจัดเรียง RGB จึงสามารถใช้ประโยชน์จากสิ่งนี้ได้โดยการกำหนดระดับให้กับส่วนประกอบสีเขียวมากขึ้นและสีน้ำเงินน้อยลง
พาเล็ตสีหลักที่สร้างด้วยวิธีนี้สามารถบรรจุสีได้มากถึง8R×8G×4B = 256 สีแต่จะไม่เหลือพื้นที่ในพาเล็ตสำหรับสีที่สงวนไว้ ซึ่งเป็นดัชนีสีที่โปรแกรมอาจใช้เพื่อวัตถุประสงค์พิเศษ โดยทั่วไปแล้วควรใช้เพียง6R×6G×6B = 216 (เช่นใน กรณี ของสีเว็บ ) 6R×8G×5B = 240หรือ6R×7G×6B = 252ซึ่งจะเหลือพื้นที่สำหรับสีที่สงวนไว้บางส่วน
จากนั้น เมื่อโหลดภาพโมเสกที่ประกอบด้วยภาพขนาดย่อ (หรือภาพอื่นๆ ที่มีสีแตกต่างกัน) โปรแกรมจะทำการแมปพิกเซลสีต้นฉบับที่มีดัชนีทุกพิกเซลไปยังสีที่ใกล้เคียงที่สุดในจานสีหลัก (หลังจากบันทึกค่านี้ลงในรีจิสเตอร์สีของฮาร์ดแวร์แล้ว) และเขียนผลลัพธ์ลงในบัฟเฟอร์วิดีโอ นี่คือตัวอย่างของภาพโมเสกอย่างง่ายที่ประกอบด้วยภาพขนาดย่อสี่ภาพ โดยใช้จานสีหลักที่มีสี RGB 240สี บวกกับเฉดสีเทาขั้นกลางอีก 16 เฉด ภาพทั้งหมดถูกนำมารวมกันโดยไม่สูญเสียความแม่นยำของสีอย่างมีนัยสำคัญ:
จานสีแบบปรับเปลี่ยนได้
เมื่อใช้ เทคนิค สีแบบดัชนีภาพจริงจะถูกแสดงผลได้แม่นยำยิ่งขึ้นเมื่อเทียบกับภาพ ต้นฉบับ ที่เป็นสีจริงโดยใช้จานสีแบบปรับได้ (บางครั้งเรียกว่าadaptive palettes ) ซึ่งสีจะถูกเลือกหรือกำหนดปริมาณผ่านอัลกอริทึมบางอย่างโดยตรงจากภาพต้นฉบับ (โดยการเลือกสีที่ปรากฏบ่อยที่สุด) ด้วยวิธีนี้ และด้วยการ เพิ่มการกระจายสี ( dithering ) ภาพสีแบบดัชนีจึงสามารถใกล้เคียงกับภาพต้นฉบับได้มาก
แต่สิ่งนี้สร้างความสัมพันธ์ที่แน่นแฟ้นระหว่างพิกเซล ของภาพ และจานสีแบบปรับได้ โดยสมมติว่าจอแสดงผลกราฟิกมีความลึกสีจำกัดที่ 8 บิต จำเป็นต้องโหลดจานสีแบบปรับได้ของภาพลงในรีจิสเตอร์ฮาร์ดแวร์สี ก่อนที่จะโหลดพื้นผิวของภาพลงในเฟรมบัฟเฟอร์ในการแสดงภาพต่างๆ ที่มีจานสีแบบปรับได้ต่างกัน จะต้องโหลดทีละภาพ เหมือนกับการแสดงภาพสไลด์ ต่อไปนี้เป็นตัวอย่างภาพสีแบบดัชนีสี่ภาพที่แตกต่างกัน พร้อมด้วยแถบสีเพื่อแสดงจานสีแบบปรับได้ของแต่ละภาพ (ซึ่งส่วนใหญ่ไม่เข้ากัน):
ความโปร่งใสในจานสี
สามารถกำหนด สี โปร่งใส ให้กับ ค่าสีเดียวใน ภาพ สีแบบดัชนีได้ เพื่อทำการซ้อนภาพวิดีโอ อย่างง่าย กล่าว คือ การวางภาพที่กำหนดลงบนพื้นหลังในลักษณะที่บางส่วนของภาพที่ซ้อนทับจะบดบังพื้นหลัง และส่วนที่เหลือจะไม่บดบัง การซ้อนภาพชื่อเรื่องและเครดิตของภาพยนตร์/รายการโทรทัศน์เป็นตัวอย่างการใช้งานทั่วไปของการซ้อนภาพวิดีโอ
ในภาพที่จะนำมาซ้อนทับ (โดยสมมติว่าใช้สีแบบมีดัชนี) ค่าในจานสีที่กำหนดจะทำหน้าที่เป็นสีโปร่งใส โดยปกติจะเป็นหมายเลขดัชนี 0 แต่สามารถเลือกหมายเลขอื่นได้หากการซ้อนทับทำด้วยซอฟต์แวร์ในขั้นตอนการออกแบบ ค่าในจานสีโปร่งใสจะถูกกำหนดให้กับสีใดๆ (โดยปกติจะเป็นสีที่โดดเด่น) ในตัวอย่างด้านล่าง ตัวชี้ลูก ศรทั่วไป สำหรับอุปกรณ์ชี้ตำแหน่งถูกออกแบบบนพื้นหลังสีส้ม ดังนั้นในที่นี้พื้นที่สีส้มจึงแสดงถึงพื้นที่โปร่งใส (ด้านซ้าย) ในระหว่างการทำงานภาพที่ซ้อนทับจะถูกวางไว้ที่ใดก็ได้บนภาพพื้นหลัง และจะถูกผสมผสานในลักษณะที่ว่า หากดัชนีสีของพิกเซลเป็นสีโปร่งใส พิกเซลพื้นหลังจะยังคงอยู่ มิฉะนั้นจะถูกแทนที่
เทคนิคนี้ใช้สำหรับตัวชี้ในวิดีโอเกม 2 มิติทั่วไป สำหรับตัวละคร กระสุน และอื่นๆ ( สไปรท์ ) การสร้างชื่อเรื่องวิดีโอ และแอปพลิเคชันการผสมภาพอื่นๆ
คอมพิวเตอร์รุ่นแรกๆ บางรุ่น เช่นCommodore 64 , MSXและAmigaรองรับการแสดงภาพสไปรท์และ/หรือวิดีโอแบบเต็มหน้าจอโดยใช้ฮาร์ดแวร์ ในกรณีเหล่านี้ หมายเลขรายการพาเล็ตโปร่งใสจะถูกกำหนดโดยฮาร์ดแวร์ และในอดีตมักจะเป็นหมายเลข 0
รูปแบบไฟล์ภาพสีแบบดัชนีบางรูปแบบเช่นGIFรองรับการกำหนดรายการพาเล็ตที่กำหนดให้เป็นแบบโปร่งใส โดย ธรรมชาติ ซึ่งสามารถเลือกได้อย่างอิสระจากรายการพาเล็ตใดๆ ที่ใช้สำหรับภาพที่กำหนดรูปแบบไฟล์ BMP สงวนพื้นที่สำหรับค่าช่องอัลฟาในตารางสี[ 2 ]อย่างไรก็ตาม ปัจจุบันพื้นที่นี้ไม่ได้ถูกใช้เพื่อเก็บข้อมูลความโปร่งแสงใดๆ และถูกตั้งค่าเป็นศูนย์ ในทางตรงกันข้าม PNG รองรับช่องอัลฟาในรายการพาเล็ต ทำให้สามารถแสดงความโปร่งใสบางส่วนในภาพพาเล็ตได้
เมื่อจัดการกับ ภาพ สีจริงอุปกรณ์ผสมภาพวิดีโอบางชนิดสามารถใช้ค่าสี RGB (0,0,0) (ไม่มีสีแดง ไม่มีสีเขียว ไม่มีสีน้ำเงิน: สีดำที่เข้มที่สุด บางครั้งเรียกว่าซูเปอร์แบล็กในบริบทนี้) เป็นสีโปร่งใสได้ ในขั้นตอนการออกแบบ จะถูกแทนที่ด้วยสีชมพูมหัศจรรย์ (magic pink ) ในทำนองเดียวกัน ซอฟต์แวร์ การจัดพิมพ์บนเดสก์ท็อป ทั่วไป สามารถกำหนดให้ภาพถ่ายและภาพประกอบเป็นสีขาวบริสุทธิ์ ค่าสี RGB (255,255,255) เพื่อตัดออก เพื่อให้ย่อหน้าข้อความสามารถขยายเข้าไปในกรอบของภาพ ได้ ทำให้สามารถจัดเรียงข้อความแบบไม่สม่ำเสมอรอบๆ ตัวแบบในภาพได้
โปรแกรมวาดภาพ 2 มิติเช่นMicrosoft PaintและDeluxe Paint สามารถใช้ สีพื้นหลังที่ผู้ใช้กำหนดเป็นสีโปร่งใสเมื่อทำการตัด คัดลอก และวางได้
แม้ว่าจะมีความเกี่ยวข้องกัน (เนื่องจากใช้เพื่อวัตถุประสงค์เดียวกัน) แต่บิตมาสก์ของภาพและช่องอัลฟาเป็นเทคนิคที่ไม่เกี่ยวข้องกับการใช้จานสีหรือสีโปร่งใสเลย แต่เป็นการเพิ่มเลเยอร์ข้อมูลไบนารีพิเศษที่อยู่นอกภาพ
ชุดสีซอฟต์แวร์
ไมโครซอฟต์ วินโดวส์
แอปพลิเคชัน ของ Microsoft Windowsจัดการจานสีของอุปกรณ์แสดงผลสีแบบ 4 บิตหรือ 8 บิตผ่านฟังก์ชันเฉพาะของWin32 APIอย่างไรก็ตาม ความเหมาะสมของจานสีใน โหมดแสดงผล HighcolorและTruecolorอาจเป็นที่น่าสงสัย API เหล่านี้เกี่ยวข้องกับสิ่งที่เรียกว่า "จานสีระบบ" และ "จานสีเชิงตรรกะ" จำนวนมาก
"จานสีระบบ" คือสำเนาของรีจิสเตอร์ฮาร์ดแวร์ของจอแสดงผลสี ซึ่งส่วนใหญ่เป็นจานสีทางกายภาพ ที่ถูกเก็บไว้ ในหน่วยความจำ RAM และเป็นทรัพยากรทั่วไปที่ไม่ซ้ำกันของระบบ เมื่อบูตเครื่อง ระบบจะโหลด จานสีระบบเริ่มต้น (ส่วนใหญ่เป็น "จานสีหลัก" ซึ่งใช้งานได้ดีกับโปรแกรมส่วนใหญ่)
เมื่อโปรแกรมใดๆ ต้องการแสดงผลกราฟิกและ/หรือรูปภาพที่มีสีสัน โปรแกรมนั้นสามารถตั้งค่า "จานสีเชิงตรรกะ" ของตนเองได้ ซึ่งก็คือการเลือกสีส่วนตัวของโปรแกรมเอง (สูงสุด 256 สี) โดยถือว่าองค์ประกอบกราฟิกทุกชิ้นที่โปรแกรมพยายามแสดงบนหน้าจอจะใช้สีจากจานสีเชิงตรรกะของตนเอง โปรแกรมทุกโปรแกรมสามารถจัดการจานสีเชิงตรรกะหนึ่งชุดหรือมากกว่านั้นได้อย่างอิสระโดยไม่มีการแทรกแซงเพิ่มเติมที่คาดหวังไว้ (ล่วงหน้า)
ก่อนที่ผลลัพธ์จะแสดงผลอย่างมีประสิทธิภาพ โปรแกรมจะต้องสร้างจานสีเชิงตรรกะเสียก่อน: ระบบจะพยายามจับคู่สี "เชิงตรรกะ" กับสี "ทางกายภาพ" หากสีที่ต้องการมีอยู่ในจานสีของระบบอยู่แล้ว ระบบจะทำการแมปสีเชิงตรรกะไปยังดัชนีของจานสีของระบบภายใน (เนื่องจากดัชนีมักจะไม่ตรงกัน) หากสีที่ต้องการยังไม่มีอยู่ ระบบจะใช้อัลกอริทึมภายในเพื่อตัดสีที่ใช้งานน้อยที่สุดในจานสีของระบบออก (โดยทั่วไปคือสีที่หน้าต่างอื่นใช้ในพื้นหลัง) และแทนที่ด้วยสีใหม่ เนื่องจากมีพื้นที่จำกัดสำหรับสีในจานสีของระบบ อัลกอริทึมจึงพยายามจัดกลุ่มสีที่คล้ายกันเข้าด้วยกัน และจะหลีกเลี่ยงการสร้างสีที่ซ้ำซ้อนเสมอ
ผลลัพธ์สุดท้ายขึ้นอยู่กับจำนวนแอปพลิเคชันที่พยายามแสดงสีบนหน้าจอพร้อมกัน หน้าต่างที่อยู่ด้านหน้าจะได้รับความสำคัญมากกว่าเสมอ ดังนั้นหน้าต่างที่อยู่ด้านหลังอาจมีพฤติกรรมที่แตกต่างกันออกไป ตั้งแต่เกิดความเสียหายไปจนถึงการวาดใหม่ได้อย่างรวดเร็ว เมื่อจานสีของระบบเปลี่ยนแปลง ระบบจะเรียกใช้เหตุการณ์ เฉพาะ เพื่อแจ้งให้ทุกแอปพลิเคชันทราบ เมื่อได้รับแล้ว หน้าต่างสามารถวาดใหม่ได้อย่างรวดเร็วโดยใช้ฟังก์ชัน Win32 API เพียงฟังก์ชันเดียว แต่การทำเช่นนี้ต้องทำอย่างชัดเจนในโค้ดของโปรแกรม ดังนั้นจึงเป็นเหตุผลที่หลายโปรแกรมไม่สามารถจัดการกับเหตุการณ์นี้ได้ และหน้าต่างของโปรแกรมเหล่านั้นจะเกิดความเสียหายในสถานการณ์นี้
โปรแกรมบางโปรแกรมสามารถบังคับให้ระบบโหลดสีเฉพาะ (แม้กระทั่งในลำดับที่เฉพาะเจาะจง) โดย "หลอก" ระบบด้วยการบอกว่าสีเหล่านั้นเป็นสีที่ใช้สำหรับการสร้างแอนิเมชั่น (การเปลี่ยนแปลงสีอย่างรวดเร็วของสีในจานสีจริงที่ตำแหน่งเฉพาะ) จากนั้นระบบจะถือว่าตำแหน่งสีเหล่านั้นในจานสีฮาร์ดแวร์ไม่ว่างสำหรับอัลกอริทึมการจัดการสีของระบบอีกต่อไป ผลลัพธ์สุดท้ายขึ้นอยู่กับความสามารถของโปรแกรมที่บังคับสีและพฤติกรรมของโปรแกรมอื่นๆ (แม้ว่าปัญหานี้จะเหมือนกับกรณีปกติ) และระบบปฏิบัติการเองด้วย
ดูเพิ่มเติม
หมายเหตุ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ พาเล็ต (คอมพิวเตอร์)
ในกราฟิกคอมพิวเตอร์พาเล็ตต์คือชุดสีที่ใช้ได้สำหรับการสร้างภาพ ในบางระบบ พาเล็ตต์จะถูกกำหนดตายตัวโดยการออกแบบฮาร์ดแวร์ ในขณะที่บางระบบจะเป็นแบบไดนามิก โดยทั่วไปจะใช้ตารางค้นหาสี...
คำอธิบาย
ณ ปี 2019 พื้นที่สีภาพที่ใช้กันมากที่สุดใน กราฟิกการ์ด คือ โมเดลสี RGB ที่มี ความลึกสี 8 บิตต่อพิกเซลโดยใช้เทคนิคนี้ 8 บิตต่อพิกเซลจะถูกใช้เพื่ออธิบาย ระดับ ความสว่าง ในแต่ละ ช่องสัญญาณ RGB ดังนั้น 24 บิตจึงสามารถอธิบายสีของแต่ละพิกเซลได้อย่างสมบูรณ์...
จานสีหลัก
ในแอปพลิ เคชันที่แสดงภาพ ขนาดย่อจำนวนมาก ในรูปแบบโมเสกบนหน้าจอ โปรแกรมอาจไม่สามารถโหลดพาเล็ตสีแบบปรับได้ของภาพขนาดย่อแต่ละภาพที่แสดงพร้อมกันลงในรีจิสเตอร์สีของฮาร์ดแวร์ได้ วิธีแก้ปัญหาคือการใช้ พาเล็ตสีหลัก ทั่วไป หรือ พาเล็ตสีสากล เพียงหนึ่งเดียว...
จานสีแบบปรับเปลี่ยนได้
เมื่อใช้ เทคนิค สีแบบดัชนี ภาพจริงจะถูกแสดงผลได้แม่นยำยิ่งขึ้นเมื่อเทียบกับภาพ ต้นฉบับ ที่เป็นสีจริง โดยใช้ จานสีแบบปรับได้ (บางครั้งเรียกว่า adaptive palettes ) ซึ่งสีจะถูกเลือกหรือ กำหนดปริมาณ ผ่านอัลกอริทึมบางอย่างโดยตรงจากภาพต้นฉบับ...





