อธิบายเรื่องแถบสีบนหน้าจอ: 8 บิต 10 บิต FRC และการไล่เฉดสี
ลองเปิดภาพพระอาทิตย์ตกที่ค่อย ๆ ไล่สีบนจอเกือบทุกเครื่อง แล้วคุณจะเห็นมัน แทนที่จะเป็นการไล่สีเนียน ๆ จากส้มไปน้ำเงิน กลับกลายเป็นแถบสีแบน ๆ เรียงกันโดยเห็นรอยต่อชัดเจน นั่นคือแถบสี และเป็น “ข้อบกพร่อง” ที่คนเข้าใจผิดมากที่สุดในการทดสอบจอภาพ เพราะบางครั้งมันคือตัวจอ บางครั้งคือตัวเนื้อหา และบางครั้งก็คือการ์ดจอของคุณที่แอบทิ้งข้อมูลไปเงียบ ๆ
เปิดการทดสอบการไล่เฉดสีที่หน้าแรกทิ้งไว้ระหว่างอ่านบทความนี้ เพราะบทความนี้ดีขึ้นมากเมื่อมีหลักฐานอยู่ตรงหน้า
แถบสีมาจากไหน
การไล่เฉดสีแบบดิจิทัลไม่ได้ต่อเนื่อง แต่เป็นบันไดของระดับที่แยกจากกันเป็นขั้น ๆ และแถบสีก็คือบันไดนั้นเผยตัวออกมาให้เห็นนั่นเอง
ที่ 8 บิตต่อช่องสี แถบไล่เฉดสีเทามีระดับที่เป็นไปได้ 256 ระดับ เมื่อยืด 256 ระดับนี้ออกไปบนจอกว้าง 2560 พิกเซล แต่ละระดับจะกินพื้นที่เป็นแถบกว้าง 10 พิกเซล ส่วนคุณจะเห็นแถบเหล่านั้นหรือไม่ ขึ้นอยู่กับว่าระดับแต่ละขั้นห่างกันแค่ไหนในเชิงการรับรู้ และสายตามนุษย์โหดร้ายที่สุดในบริเวณมืดและกับการไล่เฉดช้า ๆ บนพื้นที่กว้าง นี่คือเหตุผลที่แถบสีอาศัยอยู่ในภาพพระอาทิตย์ตก หมอก ขอบภาพที่มืดลง และฉากหนังมืด ๆ แต่แทบไม่เคยโผล่ในภาพกลางแจ้งที่มีรายละเอียดเยอะ
ที่ 10 บิต แถบไล่เฉดเดียวกันมี 1,024 ระดับ ซึ่งเท่ากับมีสี่ขั้นย่อยอยู่ในทุกหนึ่งขั้นของแบบ 8 บิต การไล่เฉดขนาดใหญ่ที่ต้องเนียนคือจุดที่บิตส่วนเกินเหล่านี้มีความหมายจริง ๆ และรูปแบบ HDR ก็ตั้งสมมติฐานว่าใช้ 10 บิตด้วยเหตุผลนี้พอดี
ห่วงโซ่ความลึกบิตของแผงจอ
สิ่งที่คุณจ่ายเงินซื้อกับสิ่งที่คุณได้รับมักเป็นตัวเลขคนละตัว
- จอ 10 บิตแท้ ส่วนใหญ่คือจอสำหรับงานมืออาชีพและทีวีระดับสูง
- 8 บิตบวก FRC คือสิ่งที่จอผู้บริโภคซึ่งอ้างว่า “10 บิต” เป็นจริง ๆ เทคนิค FRC หรือการควบคุมด้วยอัตราเฟรมจะสลับพิกเซลไปมาระหว่างสองระดับ 8 บิตที่อยู่ติดกันในแต่ละเฟรม เพื่อให้ค่าเฉลี่ยไปตกอยู่ตรงกลาง หากทำมาดี ก็แยกจาก 10 บิตแท้ได้ยากจริง ๆ เมื่อมองที่ระยะปกติ
- 8 บิตแท้ คือจอเดสก์ท็อปกระแสหลัก
- 6 บิตบวก FRC พบได้ทั่วไปในโน้ตบุ๊กราคาประหยัด มีระดับจริง 64 ระดับต่อช่องสี แล้วเกลี่ยด้วยการดิเทอร์อย่างหนัก หากการไล่เฉดสีบนโน้ตบุ๊กราคาถูกดูหยาบเมื่อเทียบกับเครื่องตั้งโต๊ะของคุณ นี่คือสาเหตุ มันติดมากับตัวเครื่องและไม่มีการตั้งค่าใดลบทิ้งได้
ข้อควรระวังคือ จอ 10 บิตจะแสดงการไล่เฉดแบบ 10 บิตก็ต่อเมื่อทั้งห่วงโซ่ให้ความร่วมมือ ทั้งตัวเนื้อหา แอปพลิเคชัน ระบบปฏิบัติการ รูปแบบสัญญาณขาออกของ GPU และสายเคเบิล ต้องรองรับ 10 บิตทั้งหมด หากมีข้อต่อใดเป็น 8 บิต ทุกอย่างหลังจากจุดนั้นจะถูกลดขั้นตามไปด้วย
ทำไมการทดสอบบนเบราว์เซอร์จึงพิสูจน์ความลึกบิตไม่ได้
นี่คือหัวข้อว่าด้วยความตรงไปตรงมา การทดสอบการไล่เฉดสีของเราวาดแถบไล่สีที่เนียนที่สุดเท่าที่เบราว์เซอร์ยอมให้วาด และทุกวันนี้เบราว์เซอร์ส่งเนื้อหาบนหน้าเว็บเกือบทั้งหมดไปยังจอที่ 8 บิตต่อช่องสี โดยมีระบบจัดการสีคั่นกลางซึ่งอาจสร้างหรือกลบขั้นบันไดได้เองอีกด้วย สิ่งที่การทดสอบนี้ทำได้ดีจริงคือ
- การเทียบพื้นที่ต่าง ๆ บนจอเดียวกัน แถบสีที่โผล่เฉพาะมุมใดมุมหนึ่ง หรือเปลี่ยนไปตามมุมมอง เป็นคุณสมบัติของตัวจอ ไม่ใช่ของเนื้อหา
- การจับปัญหาหยาบ ๆ เช่น จอระดับ 6 บิต สายจอที่เจรจาลงมาเป็นรูปแบบต่ำกว่า หรือโหมด “คอนทราสต์อัตโนมัติ” ที่ดุดันจนทำลายแถบไล่สี
- การเห็นปัญหาความสม่ำเสมอของหน้าจอ แถบไล่สีที่กวาดช้า ๆ ผ่านจอทำให้ปัญหาความสม่ำเสมอเด่นชัดในแบบที่สีทึบทำไม่ได้
สิ่งที่มันทำไม่ได้คือรับรองว่าจอของคุณเป็น 10 บิตแท้ เพราะเรื่องนั้นต้องใช้เครื่องกำเนิดสัญญาณทดสอบที่ป้อนสัญญาณ 10 บิตซึ่งรู้ค่าแน่นอนผ่านห่วงโซ่ที่ควบคุมได้ ให้สงสัยไว้ก่อนกับการทดสอบบนเบราว์เซอร์ของใครก็ตามที่อ้างว่าทำได้ รวมถึงของเราเองด้วย และนี่คือเหตุผลที่ของเราไม่อ้างเช่นนั้น
เป็นที่จอ ที่สัญญาณ หรือที่ต้นทาง
การทดลองสั้น ๆ สามข้อช่วยแยกผู้ต้องสงสัยออกจากกัน
- แถบไล่สีของเราเป็นแถบชัด ทั่วทั้งจอ และกับทุกช่องสัญญาณเข้า ปัญหาอยู่ที่ตัวจอหรือรูปแบบสัญญาณขาออกของ GPU ให้ตรวจการตั้งค่าการแสดงผล ทั้งความลึกสีขาออก คือ 8 หรือ 10 บิตต่อช่องสี และหากใช้ทีวีเป็นจอ ให้ดูว่าช่อง HDMI ตั้งเป็นโหมด “PC” หรือไม่ สายที่ยาวหรือราคาถูกเมื่อใช้ที่ความละเอียดและอัตรารีเฟรชสูงจะบังคับให้ลดรูปแบบสัญญาณบ่อยกว่าที่คนทั่วไปคิด
- แถบไล่สีของเราเนียนดี แต่หนังของคุณเป็นแถบ ปัญหาอยู่ที่เนื้อหา การบีบอัดวิดีโอที่หนักมือลดขั้นการไล่เฉดตั้งแต่ก่อนที่จอของคุณจะได้เห็นเสียอีก และฉากมืดบนแพลตฟอร์มสตรีมมิงก็ขึ้นชื่อเรื่องนี้ ไม่มีการตั้งค่าจอใดแก้การบีบอัดที่ต้นทางได้
- แถบไล่สีเพี้ยนเฉพาะหลังเปิด HDR ปัญหาอยู่ที่ห่วงโซ่ ระบบ HDR ที่แม็ปโทนมาไม่ดี หรือถอยกลับไปใช้ 8 บิตที่อัตรารีเฟรชบางค่า จะให้การไล่เฉดที่แย่กว่าโหมด SDR ธรรมดาเสียอีก ลองลดอัตรารีเฟรชลงหนึ่งขั้นดู เพราะข้อจำกัดด้านแบนด์วิดท์บังคับให้เกิดการแลกเปลี่ยนแบบนี้อย่างเงียบ ๆ
อะไรที่ช่วยได้จริง
- ตั้งค่า GPU ให้ส่งออก 10 บิตต่อช่องสี หากจอและสายรองรับ และยอมรับว่าความละเอียดกับอัตรารีเฟรชบางคู่จะทำไม่ได้
- ใช้สายคุณภาพดีที่ได้มาตรฐาน โดยเฉพาะเมื่อเกิน 4K ที่ 60 Hz ขึ้นไป
- ปิดฟีเจอร์ “เพิ่มคอนทราสต์” ทั้งหลาย เพราะมันออกแบบมาให้ลดขั้นสีในเงาอยู่แล้ว
- สำหรับเนื้อหาที่คุณสร้างเอง ให้เติมสัญญาณรบกวนบาง ๆ หรือการดิเทอร์ ลงในการไล่เฉดขนาดใหญ่ก่อนส่งออกเป็น 8 บิต เกรนของฟิล์มคือวัคซีนป้องกันแถบสี และนั่นไม่ใช่เรื่องบังเอิญ
และควรปรับความคาดหวังของคุณไปพร้อมกับปรับจอด้วย ขั้นบันไดจาง ๆ ในแถบไล่สีจากดำไปขาวเต็มจอเมื่อมองในระยะใกล้ ก็คือจอ 8 บิตที่ทำงานตามธรรมชาติของ 8 บิตทุกประการ การทดสอบที่สำคัญจริง ๆ คือเนื้อหาจริงแสดงแถบสีให้เห็นหรือไม่เมื่อมองที่ระยะจริง