เคยพูดถึงการปรับภาพในห้องhome theaterมาหลายฉบับแต่ส่วนมากจะพูดถึงแค่ในการปรับแบบเบื้องต้นไม่ยุ่งยากอะไร ในฉบับนี้ผมจึงจะขอพูดถึงการปรับภาพในระดับที่ละเอียดและมีความแม่นยำมากขึ้นกว่าเดิม อย่างไรก็ตามไม่ว่าวิธีไหนวัตถุประสงค์ของการปรับภาพหรือVideo Calibrationก็ยังคงเดิมก็คือปรับภาพออกมาให้มีความเที่ยงตรงอยู่บนพื้นฐานของมาตรฐานที่กำหนดไว้เป็นสากลว่าภาพที่ได้มาตรฐานเป็นยังไง ทำให้ภาพยนตร์ที่ดูมีความใกล้เคียงกับสิ่งที่Producerเขาเห็น เมื่อเวลาดูหนังจะได้สัมผัสประสบการณ์อารมณ์ ความรู้สึกเหมือนกับที่ผู้กำกับหรือผู้ทำหนังต้องการสื่อออกมา(Director,Creator Intend)

การปรับภาพที่ได้ยินกันบ่อยๆก็คงจะเป็นการปรับCMS(Color Management System)ที่มีทั้งการปรับColor Temperature, 2points Grayscaleหรือถ้าจะให้ละเอียดหน่อยก็อาจจะละเอียดถึง11หรือ21points Grayscale, การปรับความสว่างหรือGamma, เสร็จแล้วก็จะปรับColor Gamutของแม่สีหลักและสีรองอีกหกสี(RGBCMY) แต่บางท่านเคยเจอไหมแบบว่าปรับเสร็จแล้วกราฟทุกอย่างดี ค่าdelta Eหรือค่าความเพี้ยนก็น้อย สีของแม่สีแต่ละสีเข้าเป้าColor Gamutหมดเลย แต่พอดูภาพจริงๆ ภาพกลับออกมาอมแดงบ้าง อมเขียว หรืออมฟ้าบ้าง ทำให้แปลกใจว่าColor gamutก็ตรงอยู่นี่นา ปัญหานี้ผมได้รับคำถามมาบ่อยๆซึ่งพบว่าถ้าไม่ใช่เพราะความผิดพลาดของmeterวัดสี(Colorimeter, Spectroradiometer) หรือความผิดพลาดจากปัจจัยสิ่งแวดล้อมอื่นๆ อีกสิ่งหนึ่งที่หลายคนมองข้ามไปก็คือเรื่องของเทคนิคการปรับภาพ อย่างค่าColor Gamutของแม่สีที่เห็นนั้นความจริงแล้วมันเป็นค่าสีที่ขอบของcolor spaceที่จอภาพแต่ละจอทำได้เช่นสีแดงเกือบ100% ซึ่งในชีวิตจริงนั้นสีที่เห็นอยู่ทุกวันแทบจะไม่มีสีที่อยู่ตรงนี้เลย ดังนั้นการที่บอกว่าสีตรงขอบของcolor spaceตรงเข้าเป้าไม่ได้เป็นการยืนยันว่าสีที่อยู่ภายในcolor spaceตรงหรือใกล้เคียงกับความจริง

การใช้Color Checkerวัดสีที่พบบ่อยในชีวิตประจำวัน หรือวัดcolor sweepsของสีที่อยู่ภายในcolor spaceจึงให้ข้อมูลของสีที่ถูกต้องมากกว่า โดยเน้นไปที่สีแดงสีแสดสีเหลืองเป็นสำคัญ เพราะบริเวณนี้เป็นสีของskin toneที่มนุษย์เราให้ความสำคัญและจดจำในการมองเห็นได้มากกว่าเฉดสีอื่นๆ จอภาพที่มีความเป็นlinearityสูงเมื่อวัดแม่สีบริเวณขอบของcolor spaceสีที่อยู่ภายในก็มักจะไม่ค่อยมีความเพี้ยนเท่าไร แต่ถ้าเป็นจอภาพที่ไม่มีความเป็นlinearity(Non-Linear response) ถึงแม้วัดแม่สีตรงทุกสีแต่สีที่อยู่ภายในcolor spaceก็มักจะมีความเพี้ยนอยู่ไม่มากก็น้อย จอทีวีมักจะไม่ค่อยมีปัญหาในเรื่องนี้เพราะมีองค์ประกอบที่จะส่งผลถึงความเป็นlinearity ของภาพน้อย แต่ถ้าเป็นพวกprojectorsต่างๆต้องระวังเนื่องจากภาพที่ออกมาขึ้นอยู่กับจอภาพที่ใช้รับภาพ แสงโดยตรงจากสิ่งแวดล้อม หรือแสงสะท้อนจากผนังห้องที่มีสีต่างกันเข้ามากระทบแสงจากเครื่องฉายที่ส่งผลกระทบต่อสีแต่ละสีในแต่ละความสว่างไม่เท่ากันด้วย ทำให้ความเป็นlinearityของภาพจากโปรเจคเตอร์มีน้อยกว่าจอทีวี

ปัญหาก็คือว่าตอนนี้พอรู้แล้วว่าสีที่อยู่ภายในcolor spaceมันไม่ตรงแล้วจะแก้ไขยังไง เพราะการปรับการวัดที่ทำมาส่วนมากก็คือทำได้แค่แม่สีที่อยู่บริเวณสุดของของcolor space กับเรื่องของBlack & White levels, Peak White, Gamma, Color Temp, White Balance จึงทำให้ไม่สามารถปรับในส่วนของสีที่อยู่ในColor spaceทั้งหมด นี่แหละครับการปรับที่ผมจะพูดถึงในวันนี้ก็จะเป็นการปรับสีทั้งหมดที่อยู่ในcolor spaceตรงนี้ให้มีความถูกต้องใกล้เคียงกับมาตรฐานเหมือนกับจอที่ใช้เป็นMastering Monitorในงานpostproduction ให้มากที่สุดถึงแม้เราจะใช้แค่จอที่เป็นconsumer displayไม่ใช่จอระดับที่coloristsใช้ราคานับล้านบาทต่อเครื่องในฝั่งของprofessional world

การปรับที่ผมจะพูดถึงในวันนี้ก็คือการปรับภาพแบบ 3D LUT(ลัท) ซึ่งการปรับภาพแบบ3D LUTนี้ถือว่าเป็นGold Standardสำหรับการcalibrateภาพในpro worldเลยทีเดียว(ณ.ตอนนี้) จอภาพที่ใช้ในงานmastering mornitorส่วนมากจะต้องมีLUTฝังอยู่ในเครื่อง หรือใช้เครื่องExternal LUT generationอยู่ เพราะนอกจากจะใช้ประโยชน์ในการcalibrationแล้วก็ยังใช้ในการเปลี่ยนโทนสีของภาพให้เป็นไปตามต้องการ เช่นการถ่ายทำมาเป็นฟิล์มภาพยนตร์ แต่coloristsต้องการเปลี่ยนโทนสีของภาพไม่ให้เป็นเหมือนฟิล์ม ต้องการโทนสีที่ต่างออกไปตามที่ต้องการcoloristsก็สามารถใส่LUTเข้าไปในภาพก่อนให้producerพิจารณาดูก่อนว่าดีไหมก็สามารถทำได้อย่างง่ายดาย อีกประโยชน์หนึ่งก็คือGamut Matching ที่เวลาถ่ายหนังต้นฉบับมาไม่ว่าจะเป็นฟิล์ม เครื่องถ่ายDigital ที่มีcolor spaceอยู่ในระดับDCI-P3หรือกว้างกว่า(Rec.2020)แต่ต้องการนำมาลงใส่ในแผ่นหรือcontentที่มีcolor spaceต่ำกว่าเช่น Rec.709ก็จะต้องใส่LUTเข้าไปในภาพทำให้ภาพย่อcolor spaceลงมาให้พอดีกับที่ต้องการโดยตำแหน่งสีต่างๆยังดีอยู่ไม่ผิดเพี้ยน ต่อมาการใช้LUTก็ได้เข้ามาสู่ในบ้านโดยวัตถุประสงค์หลักของการใช้LUTภายในบ้านก็เพื่อใช้ในขั้นตอนการCalibration เพื่อให้จอภาพมีภาพที่ถูกต้อง ใกล้เคียงภาพจากต้นฉบับที่director หรือ coloristsเห็น

LUT(ลัท) ย่อมาจากคำว่า Look Up Table เป็นการนำเอาข้อมูลสีของภาพแต่ละจุดมาแก้ไขให้ค่าสีที่ออกมาเปลี่ยนแปลงไปตามต้องการ โดยที่ข้อมูลรายละเอียดของสีภาพที่จุดต่างๆก็จะเก็บอยู่ในลักษณะเป็นแบบตารางหรือเป็นแบบเมตริกเพื่อความง่ายและรวดเร็วในการคำนวณของคอมพิวเตอร์ดังนั้นจึงเรียกวิธีนี้ว่าLook Up Table พูดให้เห็นภาพง่ายๆก็คือ ถ้าR(result)เป็นผลลัพธ์ที่ต้องการ S(source)เป็นสิ่งที่เริ่มต้น L(LUT)จะเป็นการคำนวณผลต่างของRและS ดังนั้นก็จะพูดได้ว่า R=S+L โดยLUTจะมีอยู่สองแบบคือ 1D LUT ที่จะเป็นการre-map ง่ายๆอยู่ในมิติเดียวเช่นค่าความสว่าง ความมืดของแม่สีแดง เขียว น้ำเงินแต่ละสี แต่3D LUTจะเป็นการre-mapในลักษณะสามมิติคือนอกจากจะมีการคำนวณของเฉพาะสีแต่ละสีเองแล้วก็จะมีการคำนวณความสัมพันธ์ของแม่สีแดง เขียว น้ำเงินที่มีต่อกันเป็นแบบแนวแกนสามแกน ลักษณะเป็นลูกบาศก์ทำให้บางทีก็เรียกว่าเป็น 3D cube ซึ่ง3D LUTแบบนี้ผลลัพธ์ที่ออกมาจะมีความถูกต้องแม่นยำและละเอียดกว่าแบบ1D LUT ดังนั้นก็อาจเรียก 3D LUTว่าเป็นการปรับภาพแบบสามมิติเลยก็น่าจะได้




อุปกรณ์ที่จะใช้ในการทำ3D LUTภายในบ้าน นอกจากจะต้องมีอุปกรณ์calibrateภาพพื้นฐานคือ probe หรือmeterที่ใช้วัดแสงและ pattern generatorที่ใช้เพื่อปล่อยสัญญาณสีต่างไปยังจอแสดงภาพ ก็ยังต้องมีExternal LUT Boxesเพิ่มเติม เพราะจอภาพที่ใช้อยู่ในบ้านเกือบทั้งหมดไม่มี LUTฝังอยู่ในเครื่องเหมือนกับเครื่องในMastering Monitorต่างๆ เท่าที่รู้จอภาพที่ใช้ภายในบ้านก็มีทีวีรุ่นสูงๆอยู่บางรุ่นเท่านั้นที่มีLUTมากับเครื่องเลย ตัวอย่างของLUT Boxesที่จะต้องซื้อมาต่อเพิ่มก็เช่น Murideo Prisma LUT Box, Lumagen, EEColor LUT Box ฯลฯ และสิ่งสุดท้ายที่ต้องมีก็คือคอมพิวเตอร์ที่มีโปรแกรมสำหรับทำLUT Generation ซึ่งที่ใช้กันจะมีอยู่สามสี่ตัวเช่น LightSpace, CalMAN, ChromaPure เป็นต้น โดยที่ผมแนะนำในที่นี้ก็คือโปรแกรมLightSpace ความจริงไม่ว่าจะเป็นCalMAN, ChromaPureล้วนทำLUT 3Dได้ทั้งนั้น แต่สำหรับLightSpaceนั้นถึงแม้จะเป็นโปรแกรมที่ใช้งานยาก รูปร่างหน้าตาไม่ดูเข้าใจง่าย หรือสวยงามเหมือนโปรแกรมอื่นเพราะโปรแกรมนี้พัฒนามาจากโปรแกรมของฝั่งPro worldแต่จุดเด่นของโปรแกรมนี้คือมันถูกออกแบบมาให้เน้นในการทำ 3D LUTโดยเฉพาะ ดังนั้นการพลิกแพลงของโปรแกรมเพื่อใช้ให้เหมาะสมในสถานการณ์ต่างๆทำได้อย่างมีประสิทธิภาพและง่ายดายกว่าการใช้โปรแกรมอื่น



หลักการทำLUT3D ถ้าเป็นโปรแกรมCalMAN หรือ ChromaPureก็จะคล้ายๆกันคือในCalMANจะมีWorkflowที่ชื่อว่าCube3D LUT เราก็ทำตามคำแนะนำของWorkflowไปทีละขั้นได้เลย ส่วนChromaPureจะอยู่ในหัวข้อที่ชื่อว่าCalibrationและAuto Calเมื่อเข้าไปในโปรแกรมก็ไปตั้งค่าOptionsก่อนว่าต้องการปรับGrayscaleกี่จุด, Reference Gamutหรือความกว้างของสีที่ต้องการคืออะไร, Gamma Targetคืออะไร ซึ่งถ้าเราปรับที่ความกว้างสีเป็นRec.709, Gammaก็เลือกได้ว่าจะเอา 1.8-2.8ยิ่งค่าGammaมากภาพก็จะมืดลง ปกติที่นิยมในห้องhome theaterก็ประมาณ2.2-2.6 แต่ถ้าเป็นการปรับของภาพ 4K HDR ค่าGamutที่แนะนำคือ Rec.2020 ส่วนGammaก็จะเป็นHDR10 หรือHDR10-Projector เสร็จแล้วก็เข้าในในAuto Calและก็ทำตามคำแนะนำของโปรแกรมต่อไปได้เลยเป็นอันเสร็จ แต่สำหรับโปรแกรมLightSpaceจะใช้วิธีที่ต่างออกไป โดยขั้นตอนแรกหลังจากที่ปรับค่าพื้นฐานทั้ง Black & White levels, Color Temp,เลือกค่าpicture modeเสร็จแล้วก็จะเป็นการเก็บข้อมูลค่าของสีในแต่ละจุดที่เรียกว่าProfile ปกติจะแนะนำไว้ที่10x10x10จุดเป็นอย่างน้อย แต่ถ้าต้องการความละเอียดแม่นยำมากขึ้นโดยเฉพาะในจอแสดงภาพที่ไม่ค่อยมีความเป็นlinearityก็ควรจะทำเป็น17x17x17หรือ 21x21x21 จุดไปเลยจะดีกว่า แต่ก็ต้องแลกกับเวลาที่มากขึ้นด้วยอย่างที่ผมทำโดยใช้meterตัวที่เร็วมากคือKlein K10โดยถ้าเป็น17x17x17จะใช้เวลาประมาณชั่วโมงครึ่ง แต่ถ้าเป็น21x21x21นี่ต้องอย่างน้อยต้องสองชั่วโมงครึ่งในการเปิดเครื่องทิ้งไว้ให้เก็บข้อมูลProfile แต่ข้อดีของโปรแกรมLightSpaceก็คือทำprofileแค่เพียงครั้งเดียว ขั้นตอนต่อไปก็คือการทำ 3LUT Generation ก็สามารถใช้Profileที่เก็บไว้มาทำซ้ำกี่ทีก็ได้จนได้LUTในแบบที่ต้องการแล้วถึงค่อยUpload LUTไปยังLUT Boxes ซึ่งการทำ3LUT GenerationของLightSpaceเป็นขั้นตอนที่กำนดColor Spaceที่ต้องการว่าต้องการมาตรฐานอะไรสามารถเลือกได้หมด ไม่ว่าจะเป็นภาพSDRในความกว้างเฉดสีแบบRec601, Rec709, DCI P3 ทั้งที่แบบไม่ใช่D65 และD65 หรือไม่ว่าจะเป็นภาพแบบHDRที่จะมีให้เลือกทั้งST2084แบบRec709, DCI P3, DCI P3 D65, Rec2020 และมาตรฐานอื่นๆอีกมากมากเท่าที่มีใช้ในงานทั้งในบ้านและProfessional เมื่อต้องการได้มาตรฐานแบบไหนก็เลือกในส่วนของSource และเลือกProfileของจอภาพที่เราเก็บไว้ในส่วนของDestination แค่นี้10-15นาทีคอมพิวเตอร์ก็จะคำนวณLUTออกมา เสร็จแล้วColorSpaceก็สามารถตรวจสอบได้เลยว่าLUTที่คำนวณออกมา 1D LUTกราฟออกมาเป็นยังไง ในส่วนของ 3D LUTก็จะแสดงออกมาในรูปแบบของ 3D Cube และตารางของLUTอยู่ด้านข้าง แต่ถ้ายังไม่แน่ใจก็สามารถดูจากรูปภาพที่เราเลือกไว้ได้เลยว่าถ้าใส่3D LUTตัวที่พึ่งคำนวณออกมานี้ภาพหลังจากที่ใส่แล้วออกมาจะเปลี่ยนไปเป็นแบบไหน ซึ่งตรงนี้แหละที่ทำให้ColorSpaceเหนือกว่าโปรแกรมอื่นที่ไม่มีการfix workflowให้ต้องทำตาม อยากทำแบบไหนปรับแบบไหนก็สามารถเปลี่ยนแปลงได้หมด เสร็จแล้วก็สามารถตรวจสอบจากภาพจริงๆได้อีกว่าพอใจกับภาพที่ออกมาไหม ถ้าไม่พอใจก็กลับไปทำซ้ำใหม่โดยไม่ต้องไปเก็บข้อมูลProfileใหม่อีกรอบให้เสียเวลา เอาจนได้LUTที่เหมาะสมกับจอภาพของเรามากที่สุด


เท่าที่ผมได้ใช้งานการปรับแบบ 3D LUTทั้งสามโปรแกรม พบว่าถ้าเป็นการปรับภาพแบบมาตรฐาน Rec.709 SDRโดยทั่วไปนั้นไม่ว่าจะใช้โปรแกรมไหนถ้ามีการปรับวิธีที่ถูกต้องก็จะได้ผลใกล้เคียงกันมาก เนื่องจากการปรับภาพแบบRec.709 SDRนั้นค่อนข้างตรงไปตรงมาไม่มีอะไรซับซ้อน แต่ถ้าเป็นการปรับภาพ 3D LUTสำหรับภาพแบบ 4K HDRนั้นไม่ง่ายเหมือนRec.709 เนื่องจากว่าจอภาพในปัจจุบันยังไม่สามารถทำความสว่างสูงสุดได้มากเท่ากับมาตรฐานHDRที่กำหนดไว้ ทำให้ต้องมีการใส่tone mappingลงไปในจอภาพแบบHDRเพื่อให้สามารถแสดงภาพจากmetadataที่มีค่าความสว่างสูงกว่าจอภาพที่จะทำได้ ซึ่งเจ้าตัวtone mappingนี่แหละที่ในจอทีวีหรือจอโปรเจคเตอร์แต่ละรุ่นแต่ละยี่ห้อก็จะต่างกัน ทำให้การทำ 3D LUTมีความผิดพลาดเกิดขึ้นถ้ามีการแก้ไขค่าสีต่างๆเกินกว่าหรือผิดปกติไปจากtone mappingของจอภาพ ดังนั้นการที่จะทำ 3D LUTบนจอภาพแบบ HDRนั้นถ้าจะให้ผลลัพธ์ออกมาดีที่สุด วิธีหนึ่งที่นิยมกันในตอนนี้ก็คือต้องยกเลิกtone mappingที่อยู่ในจอภาพนั้นๆก่อน ให้สัญญาณออกมาเป็นSDRเพื่อตัดmetadataของHDRออกไป(ข้อมูลสี ความสว่างทุกอย่างของภาพยังอยู่เหมือนเดิมยกเว้นไม่มีmetadata)ซึ่งบางทีก็ต้องใช้อุปกรณ์เพิ่มเพื่อแปลงข้อมูลHDRเป็นSDR แล้วค่อยปรับ3D LUTในข้อมูลแบบSDRอีกที หรือพูดง่ายๆก็คือยกเลิกtone mappingของจอภาพ แล้วมาทำtone mappingเองแบบmanual ซึ่งรายละเอียดในการทำ3D LUTแบบนี้ยังมีจะต้องมีขั้นตอนย่อยเพื่อแปลง Tone Mappingของ PQ EOTFเป็นGammaปกติ และย่อColor spaceจาก Rec2020เพื่อให้เข้ากับprofileของจอภาพซึ่งก็จะมีหลายวิธีให้เลือกทำ ก็ต้องลองทำดูเพราะเท่าที่ผมเคยลองทำมาหลายๆวิธีในหลายๆจอภาพพบว่าวิธีหนึ่งอาจจะใช้ได้กับจอภาพแบบหนึ่ง แต่กลับไม่workในจอภาพที่ต่างรุ่นต่างแบบกันไป

อันนี้ยังไม่นับความยากของการทำ 3D LUTบนจอภาพแบบ OLEDที่ในปัจจุบันจอภาพในท้องตลาดจะใช้Sub-pixelแบบ WRGB เพื่อเพิ่มความสว่าง ไม่เหมือนกับจอภาพของMastering Monitorที่ส่วนมากจะเป็นแบบ pure RGB ดังนั้นเวลาปรับสีขาวที่100IRE จอภาพWRGBจะปิดการทำงานของsub-pixel RGBและเปิดการทำงานของsub pixelสีขาวเต็มที่ ไม่เหมือนกับsub-pixelแบบRGBที่จะเปิดpixel RGBเต็มที่ทำให้สีรวมกันและเกิดเป็นสีขาวขึ้น และเวลาไล่ความเข้มของสีขาวลงมาเป็นสีเทาก็จะค่อยลดความสว่างของRGBลงมาเท่าๆกัน แต่ในขณะที่WRGBมีการลดความสว่างไม่ได้เป็นlinearเหมือนRGBทำให้การใช้3D LUTมีการคำนวณที่ยุ่งยากมากขึ้นและมีerrorสูง อีกทั้งจอภาพแบบOLEDเมื่ออุณหภูมิของเครื่องเปลี่ยนไปพบว่าจะทำให้ความสว่างและสีของภาพต่างกันออกไป ดังนั้นการปรับภาพ3D LUTบนจอทีวีแบบOLEDจึงยากมาก ซึ่งต้องใช้เทคนิคในการทำที่ซับซ้อนขึ้นไปอีก

แต่ถ้าสามารถปรับภาพแบบ 3D LUTได้ถูกต้องแล้วนั้น ภาพที่ออกมาเรียกได้ว่า เป็นภาพที่ให้ค่าสีของภาพใกล้เคียงมาตรฐานที่สุดเมื่อเทียบกับการปรับภาพแบบอื่น โทนของภาพที่บางทีดูในการปรับแบบพื้นฐานว่าตรงแล้ว พอใส่3D LUTเข้าไปโทนของภาพก็จะถูกต้องมากขึ้นแบบดูออกอย่างชัดเจนเลย แต่จะแตกต่างมากน้อยแค่ไหนก็ขึ้นอยู่กับจอภาพนั้นๆด้วยว่าจอนั้นมีพื้นฐานของความเป็นlinearityว่ามากน้อยอย่างไร


ในปัจจุบันจอภาพที่แสดงผลมีการพัฒนาขึ้นไปอย่างรวดเร็วทั้งจอมีขนาดใหญ่มากขึ้น สว่างมากขึ้น มีรายละเอียดของภาพสูงขึ้น คุณภาพสีสันของภาพที่สามารถแสดงสีได้กว้างและแม่นยำมากขึ้น ดังนั้นการพัฒนาในด้านการปรับภาพเพื่อให้แสดงผลมีความถูกต้องเป็นมาตรฐานก็จะต้องมีการพัฒนาตามกันไปให้ทัน ซึ่งถ้าใครสนใจหรือให้ความสำคัญในเรื่องภาพก็คงต้องมีการUpdateความรู้เรื่องการปรับภาพอยู่เรื่อยๆ เพื่อทำให้จอภาพที่ใช้อยู่แสดงศักยภาพได้อย่างเต็มที่ไม่ผิดเพี้ยน ส่งผลให้สามารถดูภาพอย่างมีความสุข สนุกสนานได้เป็นเวลานานไม่เมื่อยล้าต่อสายตา และเป็นการถนอนจอภาพให้สามารถใช้ได้ยาวนานมากขึ้นอีกด้วย (เนื้อหาและภาพบางส่วนได้นำมาจากwhite paperของทางwebsite LightIllusionและChromaPure ต้องขอขอบคุณมา ณ.ที่นี้ด้วยครับ)