ผมใช้ rgb แล้วเปิด 0-255 มาตลอด
เคยลอง YCbCr เปิด 0-255 ภาพมันมืดไป
เลยใช้ rgb 0-255 แทน
ลองเทสดู
อันบนนี้ YCbCr เปิด 0-255
ดำบนดำแทบไม่เห็น
ส่วนอันบนนี้ YCbCr 16-235 อันใกล้เคียงกะ rgb เปิด 0-255 ที่ผมใช้ประจำ
สรุปคือ
ต่อ lcdtv ควรให้ปล่อย YCbCr แล้วใช้ 16-235 แทน เวลาดูไฟล์ h.264 ใช่ป่าวครับ
ขอบคุณครับ
ภาพข้างบนคืออาการ "black crush" ครับ เพราะ black level ที่แสดงไม่สัมพันธ์กับ black level ที่กำหนดไว้ใน content ทำให้โทนสีดำและเทาแสดงผิดพลาด
อธิบายที่มาที่ไปนิดนึงนะครับ: มาตรฐาน YCbCr เป็นมาตรฐานที่ใช้กับดิจิตอลวีดีโอ เมื่อนำไปเทียบกับ RGB ซึ่งเป็นมาตรฐานในการแสดงผลของคอมพิวเตอร์ ก็จะถูก map ให้แสดงสีในช่วง 16-235 ต่อมาเมื่อคอมพิวเตอร์มีมาตรฐาน sRGB ซึ่งสามารถแสดงช่วงของสีตั้งแต่ 0-255 ได้ ทางฝั่ง YCbCr จึงได้มีมาตรฐานใหม่คือ xvYCC (หรือ x.v. Color) เพื่อให้แสดงสีได้มากขึ้น (ดำสุดๆ ขาวสุดๆ เขียวสุดๆ แดงสุดๆ ฟ้าสุดๆ) ได้นั่นเอง บางครั้งเราก็เรียก YCbCr ที่แสดงช่วงสี 0-255 ว่าเป็น "YCbCr Super White" เหมือนกับที่ Sony กำหนดไว้ในเมนูของ PS3 ครับ
YCbCr เป็นการเข้ารหัสสี RGB ซึ่งถือว่าเป็น native color space ของ DVD/BD ครับ (จริงๆ แล้วจะเรียกว่า "Color Space" อาจจะไม่ถูกเท่าไหร่ เพราะมันไม่ใช่ absolute color space เหมือน RGB) ที่ผมแนะนำให้ใช้ YCbCr ในการต่อกับจอ LCD TV ก็เพื่อหลีกเลี่ยงกระบวนการแปลง color space (แปลง YCbCr ไปเป็น RGB) ก่อนส่งสัญญาณไปยังจอครับ
เพราะฉะนั้นถ้าดู content พวก BD/DVD สำหรับการ์ด Nvidia ควรตั้งให้ออกสัญญาณเป็น YCbCr และ color scale เป็น 16-235 (พูดได้ง่ายๆ เลยว่าหนัง Hollywood เกือบ 100% จะเป็นแบบ 16-235 ทั้งหมด) ยกเว้นเสียแต่ว่า:
- Content ที่เอามาเล่นใช้ scale แบบ Super white (0-255) เช่นแผ่น Digital Video Essential และ content จากกล้อง AVCHD ที่สนับสนุน xvYCC
- หนังเรื่องนั้นถูก rip แล้วเอาไปแปลง (encode) ใหม่โดยใช้ color scale แบบ PC หนังที่โหลดจากเน็ตหลายเรื่องเหมือนกันที่เป็นแบบนี้
เพิ่มเติมครับ ในทางกลับกัน ถ้าเล่นเกมด้วย PC แล้วต่อออก LCD TV ให้กำหนด format ของสัญญาณให้เป็นแบบ RGB นะครับ เพราะ RGB เป็น native color space ของเกม ในกรณีนี้การ์ด ATI จะได้เปรียบ เพราะสามารถกำหนดให้ส่งเป็น RGB (16-235) หรือ SRGB (0-255) ก็ได้ ถ้าเทียบกับ PS3 ก็คือ สามารถเลือกได้ว่าจะส่งสัญญาณภาพออกเป็น RGB หรือ RGB Full Range นั่นเองครับ
สำหรับ LCD TV ที่สนับสนุน HDMI 1.3 (และ Deep Color) สามารถจะรับสัญญาณ SRGB ได้สบายๆ ครับ (แต่ต้องไม่ลืมไปเปลี่ยน HDMI black level ของทีวีให้สัมพันธ์กับสัญญาณที่ป้อนเข้าไปด้วยนะครับ) แต่ถ้า LCD TV ที่เป็น HDMI 1.2 เมื่อป้อนสัญญาณ SRGB เข้าไปแล้วก็จะเกิดอาการ black crush ตามภาพข้างบนครับ
ปล. อยากให้ปักหมุดกระทู้นี้จังเลยครับ
Edited by mrzane, 10 May 2009 - 01:25 AM.