Header Ads

Gamma correction 2.2

Gamma Correction
 Gamma คือ

 Gamma บอกความสัมพันธ์ระหว่าง ค่าตัวเลขในpixel และค่าความส่องสว่าง(luminance)ตามความเป็นจริงของมัน
 เมื่อไม่มี gamma เฉดสีที่ถูกกล้องดิจิตอลจับไว้ได้ จะเห็นไม่ตรงกับที่ตาเรา(หรือในจอมอนิเตอร์) เราจึงต้องมีระบบที่เรียกว่า  แกมมา คอลเลคชัน  (gamma correction) ,gamma encoding ,Gamma compression 
การที่เราเข้าใจว่า gamma  ทำงานอย่างไรจะช่วยปรับปรุง technique ด้าน exposure ได้ (เทคนิคทางการปรับความมืด สว่างในกล้องถ่ายรูป มักจะนับกันเป็น stop) และช่วยเราปรับปรุงแก้ไขภาพ

ทำไม Gamma จึงมีประโยชน์

1.การรับรู้ความสว่างในคนเรา ไม่เหมือนกับกล้องดิจิตอล

ในกล้องดิจิตัล เมื่อจำนวนแสงโปรตอนกระทบ image sensorที่ 2 เท่า กล้องได้รับข้อมูลเป็น 2 (ความสัมพันธ์แบบ linear)เป็นเหตุเป็นผลกันใช่มั้ย แต่ตาเราไม่ได้ทำงานแบบนั้น เรารับรู้แสงเพียงส่วนหนึ่งเท่านั้น  และปรับตามความสว่างเพิ่มตามความสว่างของแสงนั้น (ความสัมพันธ์แบบ  non linear)
ที่50% ของแสงแสดงสายตาเรารับรู้ความสว่างได้ จากสีจริง
(non linear)



สีที่ตาเห็น









ที่50% ของแสงที่กล้องดิจิตอลจับได้ จากสีจริง
(linear)


สีต้นแบบ
























ที่ 50% หรือสีเทา ตามนุษย์จะเห็นแสงได้มืดกว่ากล้องถ่ายรูปอย่างเห็นได้ชัด


เทียบกันกับกล้องแล้ว ตามนุษย์อ่อนไหวต่อแสงในส่วนโทนที่มืดได้มากกว่า จากเหตุผลในข้อนี้ทำให้ทัศนวิสัยในการมองของเราจะมีช่วงรับแสงที่กว้างกว่า ไม่อย่างนั้นความสว่างในที่โล่งแจ้งจะมากเกินกว่าตาจะรับได้

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

ภาพเมื่อไม่มีการทำ gamma correction..

เนื่องจากระบบการมองเห็น หรือการตอบสนองต่อความเข้มแสง ของมนุษย์นั้นไม่เป็นเชิงเส้น กล่าวคือ มนุษย์มองเห็นส่วนมืดสว่างกว่าจริง.. แต่ image sensor ตอบสนองต่อความเข้มแสง เป็นเชิงเส้น..
ยกตัวอย่างเช่น.. สีขาว มีค่าความเข้มแสง 100 หน่วย กับ สีเทา มีความเข้มแสง 50 หน่วย..
สีเทาที่เราเห็นจะไม่ใช่เทากลาง หรือ มนุษย์จะมองสีเทานั้นมีความเข้มแสงหรือสว่างมากกว่าครึ่งหนึ่งของสีขาว..
สมมุติในสถานะการณ์เดียวกัน หากมี สีเทา ที่มีความเข้มแสง 25 หน่วย.. มนุษย์จะรับรู้หรือมองเห็นสีเทานี้ ว่า สว่างเป็นครึ่งหนึ่งของสีขาว.. หรือเห็นเป็นสีเทากลาง..

เช่นเดียวกับ ฟิลม์กรองแสง ที่ยอมให้แสงผ่าน 50%.. เมื่อมนุษย์มองผ่านฟิลม์ดังกล่าวจะรับรู้ว่า มันไม่ได้ทำให้มืดลงครึ่งนึง แต่จะรู้สึกว่ามันมืดลงเพียง 30% (โดยประมาณ)

ในขณะที่อุปกรณ์ต่างๆ เช่น จอภาพ รวมทั้ง image sensor นั้นมีพฤติกรรมเป็นเชิงเส้น... จึงจำเป็นต้องทำการ Gamma correction เพื่อเลียนแบบการรับรู้ของมนุษย์..


2.gamma เก็บข้อมูลโทนสีภาพอย่างมีประสิทธิภาพ

 gamma เก็บข้อมูลการรับรู้แสงได้เทียบเท่ากับตาที่มนุษย์มองเห็น ตามตัวอย่างแสดงให้เห็นระยะโทนสี แสดงภาพด้วยข้อมูลสีที่มีจำนวน Bit ต่ำ เพื่อที่จะแสดงสีให้เห็นระยะได้ชัดเจน

ภาพดั้งเดิม

                                                        encoded 32ระดับสี (5 bits)

ภาพ linear encoding
ภาพgamma encode

จากภาพจะเห็นได้ว่าแบบ linear นั้นไม่มีโทนสีมากพอในส่วนที่มืด แต่การทำ gamma encode นั้นแสดงผลไล่ระดับเฉดสีอย่างหยาบๆได้เสมอกัน และภาพจากการทำ gamma encode แล้วยังมีความแม่นยำในการนำสีไปปรับแต่งได้ดีกว่า คือสีมักจะไม่เพี้ยนเมื่อนำไปทำ color correction

อย่างไรก็ตามในสีในโลกความเป็นจริงมีโทนอย่างน้อย 256 ระดับ ( 8 bits) ซึ่งก็smoothเพียงพอแล้วที่จะใช้ในการ print ภาพ 
 การนำภาพที่มีข้อมูลสีน้อยกว่ามาแปลงเป็นโทนสีที่มากกว่า เช่น 11 bits อาจเกิดภาพที่ควรเลี่ยงคือ image posterization (อธิบายคร่าวๆว่า ภาพจะเห็นแถบสีไล่ระดับมาอย่างชัดเจน จากการแปลงค่าสีมาอย่างหยาบๆ มาใส่ในพื้นที่ๆงานใช้ค่า bits มากกว่า)
                                                        ตัวอย่างภาพที่เกิด posterized

Gamma workflow :Encoding & Correction

การแก้สี การ encoding แปรข้อมูล
gamma encoding เพิ่ม layer เข้ามาในส่วนการบันทึกและแสดงผลทั้งหมด ขั้นต่อไปคือที่ที่คนส่วนมากมักจะสับสน  การทำ gamma encoding จะต้องมีการทำ "Gamma correction"เข้าไปด้วย มีผลเมื่อเปิดดู

 จุดประสงค์ของ gamma encoding นั้นคือเพื่อบันทึกภาพ ไม่ใช่เพื่อแสดงรูป ยังดีที่่ stepที่2 นั้น(display gamma) แปลงผลมาให้เรียบร้อยแล้วในเครื่อง monitor และ video card ดูผลจากรูป














1.Image gamma(ความส่องสว่างเดิม)
ผลจากกล้องดิจิตัลของคุณ หรือโปรแกรม บันทึกไฟล์ดิบๆ (raw file) ทันทีที่ภาพถ่ายถูกแปลงเป็น file มาตรฐาน (Jpeg หรือ Tiff) มันจะจัดระดับโทนสีจากกล้องให้เป็นรูปแบบเก็บข้อมูล bit depth
2.Display gamma
นี่คือผลจากการการแปลงค่าผ่าน video card และจอแสดงผล จุดประสงค์ของการ display gamma นั้นก็เพื่อชดเชยค่าแสง เมื่อภาพที่ได้ไปโชว์บนจอภาพของเรา การแสดงค่า Gamma ในรูปที่มืดกว่าด้วยcontrast ที่สูงกว่า
3.System gamma (ความส่องสว่างเดิม)
และนี่ผลลัพธ์ใน Gamma เมื่อ apply ให้กับรูปภาพ และนี่ก็คือภาพกราฟในเส้นตรง ที่ได้มาจากการปรับปรุงผล ทำให้ได้เส้นตรง (gamma =1.0) เส้นตรงนี้ทำให้มั่นใจได้ว่า input (รูปดั้งเดิม) นั้นค่าเท่าเทียมกับค่า output (ความสว่างที่เห็นในหน้าจอหรือในงาน print) แต่บางครั้งระบบ system gamma ก็มีค่ามากกว่า1 ไปบ้างก็มีในกรณีปรับค่า contrast เพื่อช่วยทดแทนข้อจำกัดในเรื่อง dynamic range ในจอแสดงผล หรือกับภาพที่กะสภาสแสงไม่ได้เช่นภาพแสงฝุ้ง

Image File Gamma


  • ภาพgamma ที่เที่ยงตรงแม่นยำมักจะแสดงด้วย color profile (ข้อมูลโดยรวมสี) ที่ได้ทำการ embedded แล้ว (เข้ารหัสข้อมูล) รูปส่วนมากใช้  gamma encoding ที่ (อย่างเช่นรูปที่ใช้ระบบสีแบบ sRGB and Adobe RGB 1998) ซึ่งยกเว้นภาพ RAW file ที่มี Gamma แบบ linear 


gamma encoded (gamma 1/2.2)



Linear RAW (gamma 1.0)










ถ้าไม่มีข้อมูลสี ที่ได้ถูก embedded (เข้ารหัสไว้)ค่าสีโดยทั่วไปมักจะใช้เป็น 1/2.2 และfile ที่ไม่ได้ผ่านการembedded ได้แก่ PNG GIF Files รวมทั้ง ไฟล์ JPEG บางไฟล์ ที่ทำการ save แบบ save for web ด้วย

ความหมายของ sRGB และ Adobe RGB
sRGB
ปริภูมิสีมาตรฐาน (Standard color space) นี้ถูกสร้างขึ้นมา โดยทางนักวิจัยของ Hewlett-Packard ร่วมกัน Microsoft เพื่อกำหนดให้ค่าสีของภาพที่เราได้จากกล้องถ่ายภาพ มีสีอ้างอิงว่าค่า RGB นั้นๆ ตรงค่าสีอะไรที่เราเห็นซึ่งเป็นข้อกำหนดมาตรฐานสำหรับจอภาพทั่วๆไป โดยเน้นไปที่จอ CRT แล้วเรียกกว่า Standard RGB หรือเขียนกันสั้นๆ ว่า sRGB (อ่านออกเสียงว่า เอสอาร์จีบี) ซึ่งรายละเอียดสามารถอ่านได้ที่http://www.w3.org/Graphics/Color/sRGB

Adobe RGB
ด้วยข้อจำกัดของ sRGB ที่ทำให้ค่าสีไม่สามารถแทนค่าสีสดๆได้ หรือทางเทคนิคจะเรียกว่ามีขอบเขตสี (color gamut) จำกัด ดังนั้นทาง Adobe System ซึ่งเป็นผู้ผลิตซอฟแวร์สำหรับการพิมพ์มาอย่างต่อเนื่องเห็นว่าควรจะกำหนดให้มีปริภูมิสีใหม่ ซึ่งมีขอบเขตสีกว้างกว่า sRGB จึงสร้าง Adobe RGB ขึ้นและเริ่มใช้กับ Photoshop 5.0.2 ในเดือนพฤศจิกายน 1998 (และเป็นที่มาว่าทำไมบางครั้งจะเห็นวงเล็บ 1998 ต่อท้าย) ท่านสามารถอ่านข้อกำหนดต่างๆ ของปริภูมิสีนี้โดยดาวโหลดได้ที่ http://www.color.org/adobergb.pdf

Display Gamma

และนี่คือ Gamma ที่ปรับค่าในระบบ monitor calibration และทำการปรับค่า contrast ที่ตั้งไว้มอนิเตอร์จากโรงงานตั้งค่ามาตรฐานแสดงค่า gamma ไว้ที่ 2.2 ซึ่งอาจจะมีอันหนึ่งอันใดที่ไม่ต้องปรับค่าอะไรอีก และในเครื่องแมครุ่นเก่านั้นค่าแกมมาอยู่ที่ 1.8 จึงมีผลให้ภาพจากที่ไม่ได้มาจากเครื่องแมคนั้นดูสว่างกว่าภาพจากเครื่อง PC 


จากรูป เส้นสีฟ้า____ คือค่ามาตรฐาน Gamma
เส้นสีแดง_____คือการปรับดิสเพลย์ให้จอภาพ
เส้นสีม่วง_____คือผลที่เกิดขึ้น
จากรูปยิ่งค่า Gamma สูงเท่าไหร่ค่า curve สีแดงก็ยิ่งลดต่ำลง

เพื่อให้เกิดวามเข้าใจมากขึ้นนั้นเพราะการรับรู้ความสว่างของคนและอุปกรณ์ไม่เท่ากัน Gamma correction จึงได้ถูกนำมาใช้เพื่อทดสีให้ตรงกับตาเราเห็นมากที่สุดเมื่อภาพนั้นมาจากของจริง
ในกระบวนการ graphic computer นั้นเราไม่ทราบว่าภาพที่เราได้ download นั้นเก็บข้อมุลไว้อย่างไร  render ออกมามักจะเพี้ยน แล้วเราก็ทำการแปลงสีใน after effect หรือ photoshop แล้วใช้ตาคาดคะเนเอา
แต่นั่นเป็นการแก้ปัญหาที่ปลายเหตุ ขอให้อิงแนวทางของเครื่องมือ render งานให้ดีว่ามีระบบปรับค่า Gamma เอาไว้ให้แล้วหรือยัง



ค่าแสดงผล Gamma นั้นถูกปรับมาแล้วทั้งจาก video card และจากมอนิเตอร์แต่จอแบบเก่ายังแสดงผลไม่เท่ากัน


CRT Monitor

CRT เป็นความโชคดีในระบบ Engineerส่วน Gamma ของมันคือ 2.5 เกือบจะตรงข้ามกันกับตาเรา ค่าของความส่วางที่ออกมาจากจอนั้นเกือบจะตรงใกล้เคียงของจริง อย่างไรก็ดีค่าการแก้ Gamma correction ที่ประมาณ 1/1.1 นั้นจะต้องนำมาใช้กับระบบแสดงผลทั้งหมดของ Gamma 2.2 ด้วย ทั้งนี้ค่าเหล่านี้ได้ set มาแล้วจากบริษัทผู้ผลิต แต่ก็สามารถนำมา Calibration ได้





LCD Monitor
LCD ระบบแสดงผลที่ Gamma 2.2 ยังต้องการการแก้ไขในส่วนที่สำคัญ และยังเข้ากันได้น้อยกว่าจอ CRTหลายตัว
ใน LCD จึงต้องการบางอย่างที่เรียกว่า look -up table (LUT) เพื่อใส่ค่า input ให้มันวาดภาพเพื่อตั้งใจให้มันใช้การ  Gamma แสดงผล










2 ความคิดเห็น

ไม่ระบุชื่อ กล่าวว่า...

เป็นความรู้ที่มีค่ามากๆ ครับ ผมชอบมากๆเลยครับ
แต่ผมยังมีข้อสงสัยคือว่า ในคำกล่าวที่คุณบอกว่า "ตามนุษย์จะเห็นแสงได้มืดกว่ากล้องถ่ายรูปอย่างเห็นได้ชัด"
นั่นแสดงว่าถ้ามีแสงเข้ามาด้วยความเข้ม 50% กล้องก็จะรับรู้ได้ 50% (เพราะมีความสัมพันธ์แบบเชิงเส้น) และตาของเราก็จะรับรู้ได้น้อยกว่า 50% แน่นอน ---->ซึ่งมันจะขัดกับที่คุณบอกว่า "ยกตัวอย่างเช่น.. สีขาว มีค่าความเข้มแสง 100 หน่วย กับ สีเทา มีความเข้มแสง 50 หน่วย..
สีเทาที่เราเห็นจะไม่ใช่เทากลาง หรือ มนุษย์จะมองสีเทานั้นมีความเข้มแสงหรือสว่างมากกว่าครึ่งหนึ่งของสีขาว.."
ซึ่งมันหมายความว่าตาเราเห็นแสงได้สว่างกว่าความเป็นจริงซึ่งก็แสดงว่าตาของเราต้องเห็นแสงได้สว่างกว่ากล้อง ซึ่งมันจะขัดกับที่คุณบอกว่า "ตามนุษย์จะเห็นแสงได้มืดกว่ากล้องถ่ายรูปอย่างเห็นได้ชัด" ผมจึงเกิดข้อสงสัยครับ ขอความกรุณาช่วยอธิบายด้วยนะครับผม ^^

ไม่ระบุชื่อ กล่าวว่า...

แปลมาจากอันนี้ https://www.cambridgeincolour.com/tutorials/gamma-correction.htm ส่วนที่บอกตารับรู้ไม่เหมือนกล้องนะถูกต้อง แต่รายละเอีัยดอ่านแล้วไม่รู้เรื่อง