Archive for the ‘Article’ Category

RAW vs JPEG

Sunday, March 21st, 2010

ครั้งที่แล้วสัญญาไว้ว่าจะเขียนเรื่องอะไรสนุกๆ กับเรื่อง Number Marketing: MP vs. Lens vs. Sensor Size แต่จำไม่ได้แล้วว่าจะเขียนอะไร พูดง่ายๆ ว่า “ลืม” เพราะไม่ได้ shortlist ไว้ –’

งั้นเอางี้ วันนี้ขอเขียนอีกเรื่อง ที่เป็น Myth มานานแล้ว เรื่อง RAW กับ JPEG แทนก็แล้วกัน ขออภัยที่ผิดสัญญา แต่รับรองว่าสนุกไม่แพ้กันแน่นอน โดยก่อนอื่น ผมขอเคลียร์ก่อนว่า Myth ที่ว่านี้ คืออะไร

  1. ต้องถ่าย RAW ถึงจะสวย
  2. ไฟล์ RAW สวยกว่า JPEG
  3. อยากได้คุณภาพ ต้องถ่าย RAW เท่านั้น
  4. โปรเค้าใช้ RAW กันทั้งนั้น

ว่าแต่ไฟล์ RAW กับ JPEG คืออะไร?

RAW คือ “ข้อมูลแสงดิบๆ” ครับ ดิบๆ อย่างที่เซ็นเซอร์ (ตัวรับภาพ) ของกล้องรับภาพไว้ได้ ดังนั้นไฟล์ RAW จึง “ผ่านการปรุงแต่งน้อยที่สุด” และแต่ละกล้องจะมีวิธีบันทึกของตัวเอง แม้ว่าทาง Adobe จะพยายามสร้างมาตรฐานอย่าง DNG (Digital Negative) ขึ้นมาโดยหวังว่าจะเป็นมาตรฐานกลางของ RAW ที่ยังไม่ค่อยได้รับความนิยมในวงกว้างเท่าไหร่นัก มีใช้อยู่ไม่กี่ยี่ห้อ (Leica เป็นหนึ่งในนั้น)

พูดง่ายๆ ผมถือว่า RAW เป็น “ฟิล์ม” สำหรับกล้องดิจิทัลครับ โดย concept มันเหมือนกับฟิล์ม negative มากๆ (ไม่งั้น Adobe คงไม่ตั้งชื่อ DNG)

สำหรับ JPEG นั้นแทบจะตรงข้ามกับ RAW เลยครับ JPEG คือ “รูปแต่งสำเร็จ” โดยตัวประมวลผลภายในกล้องเอง

ซึ่งถ้าจะเปรียบเทียบกับฟิล์มแล้ว JPEG ก็เหมือนกับรูปที่ “ล้างและอัดเสร็จแล้ว” (Processed) หรือว่าคิดว่ามันเหมือนกับกล้องโพลารอยด์ก็ได้ครับ ที่ถ่ายแล้วได้รูปสำเร็จเลย

ดังนั้น ในขณะที่ RAW จะเป็นอย่างไร ขึ้นอยู่กับเสนส์และเซนเซอร์รับภาพ และการแปลงเป็นดิจิทัลเท่านั้น JPEG จะขึ้นกับ image processer อีกตัวหนึ่ง ซึ่งอาจจะทำให้ข้อมูลดิบดีขึ้น มีสีสันมากขึ้น แก้ข้อผิดพลาดต่างๆ ของเลนส์และเซนเซอร์ให้หายไป ก็ได้

ดังนั้นบางครั้ง รูป JPEG จากกล้อง สวยกว่า RAW ครับ สวยกว่ามากด้วย แต่ทั้งนี้ขึ้นกับกล้องครับ ว่าจะประมวลผลมันอย่างไร สำหรับหลายกรณี เช่น Leica M8 นั้น มี JPEG engine ที่ “ห่วยจัด” ก็อาจจะถ่าย RAW แล้วมาล้าง/อัดเองในโปรแกรมประมวลผลภาพ แต่สำหรับอีกหลายกรณี ภาพ JPEG จะดีกว่า RAW อย่างชัดเจนครับ เพราะว่าหน่วยประมวลผลภาพในกล้อง ได้แก้ไขข้อจำกัดเฉพาะกล้องให้เราเรียบร้อยแล้ว

ประเด็นที่น่าสนใจก็คือ เนื่องจาก RAW มันเก็บข้อมูลแสงดิบๆ ไว้ให้เราอย่างครบถ้วน ดังนั้นเราก็เลยมีข้อมูลเท่าที่กล้องจะเก็บได้ เอาไว้ให้ process เองต่อ ซึ่งเราอาจจะตั้ง White Balance ใหม่ หรือเราจะดึงโน่นแต่งนี่ ได้มากกว่า เพราะว่าข้อมูลแสงมันยังอยู่เท่าที่เซนเซอร์จะเก็บได้

ดังนั้น ในขณะที่ “จากกล้อง” JPEG มีโอกาสจะสวยกว่า/ห่วยกว่า/เทียบเท่า RAW ขึ้นอยู่กับว่าหน่วยประมวลผลภาพในกล้อง มันประมวลอะไรให้บ้าง ถ้าพูดถึงโอกาสนำมาแก้ไขและ process รูปต่อในภาพหลังแล้ว RAW มีมากกว่าเยอะมาก

แต่ว่า JPEG เดี๋ยวนี้เจ๋งนะครับ จากกล้องใหญ่ๆ หลายๆ ตัวนี่ เก็บข้อมูลเอาไว้ได้ดีแบบไม่น่าเชื่อเลย แต่ว่ากับกล้องหลายตัว มันค่อนข้างจะ over-processed อย่างเห็นได้ชัด ไม่ว่าจะเป็นการพยายามดึง detail มากเกินไป หรือ over-sharpen ซึ่งตัวอย่างนี้มีให้เห็นเยอะมากพอสมควร

มืออาชีพหลายๆ คนที่ผมรู้จัก ก็ไม่ใช่ว่าจะถ่าย RAW นะครับ ขึ้นอยู่กับว่าลักษณะการใช้งานภายหลังของเขา จะนำไฟล์นั้นไปใช้อย่างไร มองภาพที่ได้ เป็นข้อมูลตั้งต้น เอาไปแต่งต่อ ประมวลผลต่อ หรือมองเป็นภาพสำเร็จ จะมีแก้ไขก็ไม่มากแล้ว ซึ่ง JPEG ก็เก็บข้อมูลไว้ได้มากพอ ประกอบกับ JPEG processing ที่เก่งมากขึ้นเรื่อยๆ ทำให้หลายคนเลือกใช้ RAW น้อยลง

สำหรับตัวผมเอง ผมเลือกแบบน้ีครับ

  1. Nikon D3, D3s ผมเลือกตั้ง JPEG ครับ เพราะถึงผมจะแต่งรูปหลังจากนั้น ส่วนมากก็เป็นการดึง contrast, saturation, fill light, black adjust เล็กๆ น้อยๆ ที่ JPEG ยังมีข้อมูลเหลือเฟือ แต่ถ้าเป็นรูปที่ผมตั้งใจจะทรมานมันต่อเยอะๆ (เช่น จะเอาไปทำ single RAW HDR) หรือคิดว่าจะเอาไปดึงมากหน่อย เห็นเป็นข้อมูลดิบมากกว่ารูปสำเร็จ ผมจะถ่าย RAW แน่นอน
  2. Leica M8 ถ่าย RAW ครับ เพราะว่าผมรับ JPEG มันไม่ได้เลย ตัวประมวลผล JPEG มันห่วยจัด ลองดูได้จาก DPReview ก็ได้ครับ
  3. Panasonic GF1 ทั่วไปจะถ่าย RAW เพราะ Default JPEG มัน over-processed พอสมควร นอกจากรูปที่ผมอยากจะได้ effect บางอย่างจาก film mode หรือ my color mode ต่างๆ แต่ถ้าจะถ่าย B&W ล่ะก็ จะตั้ง JPEG และใช้ Dynamic B&W แน่นอน
  4. Panasonic LX3 ตั้ง JPEG ครับ ทั้งที่ถ่าย RAW ได้ เพราะว่า JPEG กล้องตัวนี้จะแก้ไขข้อมูลเลนส์ของกล้องพอควร (เลนส์มี distortion ค่อนข้างเยอะ ในช่วง wide) ซึ่งผมขี้เกียจเอามาแก้เอง และ JPEG ของกล้องค่อนข้างจะได้คุณภาพดีอยู่แล้ว

ขอสรุปหน่อย จาก Myth ด้านบน คือ RAW ไม่ใช่รูปที่ “สวยที่สุด” หรือ “มีคุณภาพที่สุด” (ในแง่ของภาพ) แต่เป็นรูปที่ “มีข้อมูลดิบเยอะที่สุด ผ่านการประมวลผลน้อยที่สุด” ดังนั้น ถ้าคิดจะ process ต่อ RAW จะมีโอกาสทำอะไรต่ออะไรได้มากกว่า JPEG เยอะมากๆ นั่นแปลว่า “มีโอกาสจะสวยกว่า มีคุณภาพกว่า JPEG จากกล้อง” และ JPEG จากกล้อง อาจจะสวยกว่า RAW ก็ได้ ในหลายๆ กรณี ขึ้นอยู่กับตัวประมวลผล JPEG ในกล้อง

Megapixel vs. Sensor Size vs. Lens

Sunday, February 14th, 2010

Number marketing เป็นเรื่องที่ “สร้างง่าย หายยาก” และจากประสบการณ์ คงไม่หายไปไหนง่ายๆ ตัวอย่างที่เห็นง่ายๆ พบได้บ่อยๆ ก็ตั้งแต่สมัย Megahertz Myth และอีกเรื่องที่ยังคงพบอยู่ในปัจจุบัน คือ “กี่ Megapixels” และ “ซูมกี่เท่า” ซึ่ง “ความเชื่อสาธารณะ” มักจะถูกสร้างว่า เมื่อตัวเลขเหล่านี้สูงกว่า นั่นหมายถึงดีกว่า

จริงๆ ก็ไม่ถึงกับผิดซะทีเดียวนัก เพราะว่าหากปัจจัยทั้งหมดเหมือนกัน ในบางบริบท มันก็ดีกว่าจริงๆ … แต่ว่าหากปัจจัยที่มีผลต่อคุณภาพ ประสิทธิภาพ ฯลฯ อื่นๆ มันต่างกันล่ะก็ มันก็บอกไม่ได้ซะทีเดียว เช่น จริงหรือ ที่ CPU ความเร็ว 2 GHz เร็วกว่า 1.6 GHz คำตอบคือ ถ้าปัจจัยอื่นๆ เช่น สถาปัตยกรรมพื้นฐาน โครงสร้างอื่นๆ ที่มีผลต่อความเร็ว ทุกอย่างมันเท่ากัน แล้วล่ะก็ “จริง” ครับ แต่ว่าถ้าไม่เช่นนั้นแล้ว “สรุปไม่ได้” ครับ

สรุปไม่ได้ ยังดี แต่ว่าในบางกรณีมัน “ตรงข้าม” ครับ โดยปริยาย และนั่นก็เป็นเรื่องที่จะคุยกันวันนี้ครับ คือ เรื่อง Megapixel ซึ่งเรื่องนี้เคยเขียนอย่างละเอียดไปครั้งหนึ่งแล้ว ในบทความ “กี่ล้านดีคะ” ที่ Blog นี้ … และวันนี้อยากจะเขียน “ภาคต่อ” สักหน่อย

ถึงสัญญาณเรื่องนี้ในตลาดจะดีขึ้นมาบ้าง เพราะว่าค่ายกล้องหลายค่าย เริ่มหันไปผลิตกล้องที่ “MP ต่ำลง แต่ขนาดตัวรับภาพ (Image sensor) ใหญ่ขึ้น” ในระดับ High-end compact กันมากขึ้น เริ่มตั้งแต่ Panasonic LX3 ซึ่งจะว่าไป 10MP, และเซนเซอร์ขนาด 1/1.63″ นิ้ว เป็นสาเหตุที่ทำให้ผมเลือกตัวนี้ แทนที่จะเลือก Canon G10 (14.7MP) Nikon P6000 (13.5MP) และหลังจากนั้นในระดับ High-end compact ก็มีกล้องทำนองนี้ออกมาเรีื่อยๆ เช่น Canon G11, Canon S90 ซึ่งลด MP ลงไปเกือบ 1/3 ของ G10 และเพิ่มขนาดเซนเซอร์อีกด้วย และ Ricoh อีกหลายรุ่น โดยเฉพาะ GR-Digital 3, GXR และรวมถึง Micro 4/3 อย่าง E-P1, 2, GF1

แต่ว่าสัญญาณดังกล่าว ยังคงส่งไปไม่ถึงในระดับตลาดกลางและตลาดล่าง สังเกตได้จาก Nikon ที่เพิ่งจะออก Coolpix รุ่นใหม่ออกมาอีกหลายตัว ซึ่งมี MP ที่สูงขึ้น แต่ว่าในทางตรงข้าม มีขนาดเซนเซอร์ที่ลดลง! ผมจำได้ว่า เคยบ่น Coolpix S710 ว่ามี 14.5MP และ 1/1.72″ ซึ่งรุ่นใหม่ที่ออกมา S8000 นั้น ก็มี MP เกือบจะเท่าเดิมน่ะแหละ แต่ว่ามีเซนเซอร์ขนาด 1/2.33″!

และเมื่อมองกว้างๆ ไปอีกหน่อย ก็ยังคงพบว่า Megapixel War ยังคงไม่จบง่ายๆ แน่นอน

โดยส่วนตัวแล้ว ไม่เคยปฏิเสธเรื่อง MP ว่ามีมาก มันก็มีประโยชน์ เพราะว่ามันทำให้เรา crop ภาพเฉพาะบางส่วนได้มากขึ้น หรือว่าพิมพ์ภาพได้ใหญ่ขึ้น แต่ว่าจริงๆ แล้วมีกี่คนกัน ที่ต้องการพิมพ์ภาพเพื่อให้ได้ประโยชน์จาก 12MP เต็มที่? และมันก็มีคนที่ต้องการ MP มากๆ อยู่จริงๆ ไม่งั้นกล้องพวก Leica S2, Nikon D3X อะไรพวกนี้คงไม่ทำออกมา และคงขายไม่ออกกับคนที่รู้เรื่องพวกนี้แน่ๆ แต่ว่าถามว่า แล้วมันจำเป็นมั้ย กับพวกเราทั่วๆ ไป? เราคงอยากจะได้แค่ภาพดีๆ เยอะๆ ซึ่งหลายภาพอาจจะถ่ายในที่ๆ แสงไม่ค่อยจะอำนวย (มืด) ซึ่งจำเป็นต้องให้แสงเข้ามาเซนเซอร์เยอะๆ หน่อย หรือว่าถ่ายรูปลูกหลานที่กำลังซน กำลังเล่น ที่จะต้องไวหน่อย อัดรูปอย่างมากก็ 4×6 ก็แค่นั้น ซึ่งการมี MP สูง และเซนเซอร์เล็ก ไม่ช่วยอะไรเลยแม้แต่อย่างเดียว และเป็นโทษซะด้วยซ้ำ

กล้องดิจิทัล มันก็มีหลักการประมวลผลเหมือนกับการประมวลผลดิจิทัลธรรมดาน่ะแหละครับ ที่มีกระบวนการ Input-Process-Output ซึ่งกรณีนี้ “Input” มันแบ่งเป็น 2 ส่วนหลักๆ คือ

  1. เลนส์ ซึ่งใช้รับแสง (Analog data)
  2. ตัวรับภาพดิจิทัล (เซนเซอร์) ซึ่งเป็นส่วนที่ใช้ในการบันทึกแสง และแปลงข้อมูลเป็นดิจิทัล

ก่อนที่จะเข้าสู่กระบวนการ Digital Processing ที่ Image Processing Engine ที่ชื่อประหลาดๆ ทั้งหลายทั้งแหล่ เช่น Venus, Digic, Expeed ฯลฯ

เคยได้ยินไหมครับ “Garbage In, Garbage Out” ถ้าขยะเข้า ก็ขยะออก คือ ถ้าหากข้อมูลเข้ามามันไม่ดีแล้วล่ะก็ จะประมวลผลมันยังไง ผลลัพธ์ออกไป ก็ไม่ดีหรอกครับ สู้ข้อมูลเข้าที่ดีไม่มีทางได้เลย

ลองคิดดูง่ายๆ นะครับ กล้องค่ายเดียวกัน 2 ตัว ใช้เทคโนโลยีการประมวลผลภาพเหมือนกัน แต่ทำไมภาพที่ได้จาก D700+24-70/2.8 N มันช่างแตกต่างจาก Coolpix S710 มากมายขนาดไม่ต้องเอามาเทียบ ทั้งๆ ที่ทั้งสองตัวนี้ ก็มี Expeed processing engine เหมือนกัน คำตอบคือ เลนส์ และ เซนเซอร์ครับ

ก็เลยนำมาซึ่งเรื่องต่อมา ก็คือ แล้วคุณภาพของเลนส์ในบรรดากล้อง compact ทั้งหลายล่ะ ดีแค่ไหน? ผมไม่ได้ต้องการคุณภาพระดับที่บ้านเราชอบกัดกันว่า “เทพ” แต่อย่างใด เพราะว่าเข้าใจดีกว่า ซื้อกล้องตัวเล็กๆ กันไปทำไม แต่ว่าเห็นมากขึ้นเรื่อยๆ กับเลนส์ที่มีรูรับแสงที่แคบมาก คือ 6.6 หรือ 6.7 ที่ช่วงปลายของซูม! รูรับแสงที่เล็ก ก็ไวแสงน้อยเป็นธรรมดา ทำให้ต้องเปิดชัตเตอร์นานขึ้น หรือเร่งสัญญาณแสง (เร่ง ​ISO) ให้สูงขึ้น ซึ่งการเร่ง ISO จริงๆ แล้วก็คือการขยายสัญญาณเสียง เหมือนกับเร่งเสียงลำโพงน่ะแหละครับ ถ้าลำโพงไม่ดี หรือเพลงอัดมาไม่ดี มันก็จะแตกเป็นเสี่ยงๆ หากเปลี่ยนเป็นเลนส์ที่มีรูรับแสงกว้างกว่านั้น เช่น F4 จะใช้ ISO ได้ต่ำลงกว่าเท่าตัว

แล้วมันแลกมากับอะไร? แน่นอนครับ เซนเซอร์ที่ใหญ่ขึ้น เลนส์ที่ดี รูรับแสงกว้างๆ มันแลกมากับ “ขนาด” ที่ใหญ่ขึ้นตามไปด้วย แต่ว่าอย่างหนึ่งที่ช่วยได้ โดยไม่ต้องเพิ่มขนาดเซนเซอร์มากนัก หรือเปลี่ยนเลนส์ ก็คือ “การลด Megapixel” ครับ เพราะว่าจะทำให้มีข้อมูลต่อหนึ่ง Pixel เพิ่มขึ้นโดยปริยาย (ถ้างง รบกวนอ่านบทความที่แล้วของผมนะครับ)

บทความต่อไป ผมจะเขียนการเปรียบเทียบอะไรสนุก เกี่ยวกับเรื่องนี้ครับ


บทความที่เกี่ยวข้อง

Camera Usability Factor

Sunday, January 17th, 2010

อ่านจาก Steve Huff Photos (http://www.stevehuffphotos.com/) ซึ่งเป็นเว็ยไซต์ที่เขียนรีวิวอุปกรณ์ถ่ายรูป จากมุมมองตากล้อง และการใช้งานจริง มากกว่าจากมุมแบบเชิงเทคนิค ที่พวกเรามักคุ้นเคยกัน (test chart, color plates, MTF chart, โหมดต่างๆ, 100% pixel peep ที่ทุก ISO, ฯลฯ) ซึ่งเป็นแนวรีวิวที่คิดว่าน่าจะมีประโยชน์มากๆ สำหรับคนถ่ายรูป และอยากหัดถ่ายรูป ถึงเจ้าของเว็บไซต์จะบ้าจุดแดง (Leica) ไปนิดหน่อยก็เถอะ

สิ่งที่ผมอยากจะเขียนถึง คือ Camera Usability Factor ที่เจ้าของเว็บได้เขียนไว้อย่างน่าสนใจ

“USABILITY FACTOR: A camera that you can not put down. One that you want to take with you wherever you go. A camera that will not weigh you down and break your back. A camera that will sleep next to you on your nightstand. A camera that produces exquisite image quality while making YOU look good as well as it hangs from your neck! A camera that will improve your skills and one that you just love shooting day in and day out!”

แปลเป็นไทย (แบบมีดัดๆ แปลงๆ นิดหน่อย) คือ

“USABILITY FACTOR: กล้องตัวที่คุณวางมันไม่ลง กล้องตัวที่คุณอยากจะหยิบมันติดไปด้วยไม่ว่าจะไปไหนก็ตาม กล้องตัวที่จะไม่ทำให้รู้สึกหนักหรือทำให้คอหัก กล้องตัวที่จะอยู่ที่หัวเตียง (หรือโต๊ะ หรืออะไรก็ตามที่มือคว้าได้ทันทีเมื่อตื่น) กล้องที่ให้ผลลัพธ์ที่เยี่ยมในขณะที่ทำให้คุณดูดี (หล่อ/สวย) ขึ้นที่ถือมัน ห้อยมัน หรือใช้งานมัน และที่สำคัญ เป็นกล้องที่จะทำให้คุณถ่ายรูปเก่งขึ้น และเป็นตัวที่คุณรักที่จะใช้งานมันทั้งวันทั้งคืน!”

เป็นนิยามที่ผมชอบมาก จะเห็นว่าไม่มีเรื่องเกี่ยวกับเชิงเทคนิคเลยสักกะนิด ไม่ได้มีว่า กล้องที่ดีจะต้องมี ฯลฯ (ล้าน scene mode, autofocus ร้อยแปดแบบ, ฯลฯ) ก็เลยอยากจะแชร์กันไว้ครับ

สำหรับตัวผมเอง กล้องตัวนี้เป็นตัวไหน? เมื่อก่อนผมมีกล้องอยู่สอง 2 ตัวหลักๆ นะ คือ Nikon D3 และ Leica M8 ตัวนึงเป็นกล้องที่ผมรักที่จะทำงานด้วย หวังผลได้ คุมได้ดังใจ เชื่อใจได้ที่สุด ไม่ต้องดู LCD เพื่อดูผลลัพธ์หลังจากกดชัตเตอร์เลยก็ได้ … อีกตัวหนึ่งเป็นกล้องตัวที่รักที่จะอยู่ด้วย อยากจะพาไปไหนมาไหนด้วย แต่คุณเธอพยศซะเหลือเกิน

ตอนนี้ผมคิดว่าผมเจอกล้องตัวที่ลงตัวพอดีแล้วล่ะ คือ Panasonic GF1 กับ 20mm/f1.7 (แต่นะ มันยังไม่หล่อเท่า Olympus E-P1 ฮ่าๆ)

My Dad’s comment on “Generation Click”

Tuesday, December 15th, 2009

ส่ง e-mail link บทความ “Generation Click” ให้พ่ออ่าน พ่อ e-mail กลับมาว่า

I just returned from KKU few minutes ago. Tomorrow, I will go to Chiang Mai and will return on Saturday. How about that?

The ‘Generation Click’ is good.

May be the academia has to work harder to bring the thinking process back to life. Or, the young generation will have to depend on some tools all the time. They cannot thinking about making the tools themselves.

Love,
Dad

Thank you Dad! Your comment really worths its own entry. It’s really that good! Let me repeat what I think is very important:

May be the academia has to work harder to bring the thinking process back to life. Or, the young generation will have to depend on some tools all the time. They cannot thinking about making the tools themselves

“Generation Click”

Tuesday, December 15th, 2009

กลับบ้านคราวที่แล้ว นั่งคุยกับพ่อเรื่องน่าสนใจหลายเรื่อง เรื่องหนึ่งก็คือ เรื่องผู้ใช้คอมพิวเตอร์ ทั้งเป็นผู้ใช้แบบ user จริงๆ และนักคอมพิวเตอร์ นักเทคโนโลยีสารสนเทศและการสื่อสาร และโปรแกรมเมอร์ generation ใหม่ ที่พ่อผมเรียกว่า Generation Click

คุณพ่อบอกว่า “พวก Generation Click เนี่ย ไม่เจอ icon ไม่เจอเมนู ให้ click ได้ แล้วทำอะไรไม่เป็นเลย” แล้วอีกไม่นาน ก็ต่อด้วย “แบบนี้เขียนโปรแกรมใช้งานเองลำบากแย่เลย เพราะเขียนโปรแกรมจริงๆ ก็แค่เอาคำสั่งพวกนั้นมาต่อๆ กัน ไม่ใช่เหรอ?”

อืมมมมมม เห็นด้วยแฮะ

ก่อนจะพูดต่อไป ขอพูดถึงตัวเองหน่อย ….. ผมอาจจะโชคดีพอ ที่เกิดมาทันสมัย DOS (เครื่องแรกในชีวิต ที่ตั้งที่บ้าน ใช้งาน DOS 5.0 — ไม่มีเมาส์ด้วยซ้ำไป) ทำให้การทำงานกับ command line เป็นอะไรที่เป็นเรื่องปกติ รู้สึก at home กับมันมาก อยากจะให้มันทำอะไร ก็สั่งมันตรงๆ เป็นคำสั่งๆ ไป และแต่ละคำสั่งก็จะมี option อะไรก็ว่าไป ไม่พอ กว่าจะเล่นเกมได้แต่ละเกมๆ ก็ต้องแก้ config.sys, autoexec.bat กันวุ่นวาย ถึงขนาดต้องเขียน batch file เอาไว้เปลี่ยนสองไฟล์นี้เอง ด้วยความรำคาญ

พอชีวิตเริ่มเจอ GUI มากขึ้น ไม่ว่าจะเป็น Windows 3.x, Windows 95 ก็ได้ทุนไปเรียนญี่ปุ่น ก็พอเดินเข้าห้องคอมพิวเตอร์วันแรก ก็เจอ SGI IRIX เจอ GUI แบบไม่เคยเจอมาก่อน และต้องทำงานกับ Shell บน terminal emulator (ถ้าจำไม่ผิด รู้สึกว่าจะเป็น tcsh) ทำทุกอย่างบนนั้นหมด เหมือนกับเปลี่ยนโลกไปเยอะ จากนั้นเพื่อนๆ สนิทๆ กัน (Peter Suranyi, Janos Gyerik) ก็ยุให้เล่น Linux ก็เลยหามาลง ซึ่งก็กว่าจะหาทางทำให้ X-Windows มันทำงานได้ กว่าจะฯลฯ ได้ ก็แทบแย่

ประเด็นคือ การอยู่กับ terminal หรือ command prompt ทุกชนิดของผม ทำให้ผมมองการใช้งานคอมพิวเตอร์ เป็น “บทสนทนา” ระหว่างผมเอง กับคอมพิวเตอร์ ไม่ว่าผมจะใช้โปรแกรมอะไรก็ตามที่สามารถใช้งานในลักษณะ terminal ได้ จะเป็น MySQL, Octave, R หรือว่าโปรแกรมที่เป็น command line-based เช่น imagemagick ที่เอามาประกอบกับ shell scripting ได้ หรือว่า interactive programming environment ต่างๆ เช่น IRB, Python, Scheme, Haskell

กลับมาถึงบทสนทนาระหว่างผมกับคุณพ่อ

คุณพ่อผม เป็นนักปรับปรุงพันธ์พืช ที่ใช้ dBase 3 Plus ในการเก็บข้อมูล มานานมาก และเขียนโปรแกรมใช้งานเอง เริ่มจากใช้งานฐานข้อมูลนั้นๆ ทีละคำสั่งๆ แล้วก็เอาคำสั่งพวกนั้นมาต่อๆ กันเป็น routine/sub-routine และก็เริ่มซับซ้อนขึ้นเรื่อยๆ จนปัจจุบัน เป็นโปรแกรมที่มีความซับซ้อนมาก และทำงานได้ดี ช่วยงานได้เยอะมาก

สิ่งที่ท่านพบก็คือ นักปรับปรุงพันธ์รุ่นใหม่ ซึ่งใช้คอมพิวเตอร์ในการทำงานมากขึ้น ไม่ว่าจะในการวิเคราะห์ทางสถิติ หรือว่าการวิเคราะห์อื่นๆ กลับไม่ค่อยจะสามารถพัฒนากระบวนการคิดนั้นๆ ได้ และไม่สามารถที่จะมองความเชื่อมโยงระหว่าง process ระหว่างโปรแกรมได้เท่าไหร่ ไม่ต้องพูดถึงเรื่องเขียนโปรแกรมเลย ยิ่งกว่านั้น ในการทำงานทุกอย่าง จะมองหาแต่ icon ของคำสั่ง กระบวนการทำงานโดยทั่วไปคือ select & click และมองไม่ออกว่า จริงๆ สิ่งที่ทำๆ อยู่เนี่ยแหละ คือ “การสนทนา” ที่หากว่าบันทึกไว้ มันก็คือการเขียนโปรแกรมน่ะแหละ แต่พวกนี้กลับรักที่จะทำทุกอย่างแบบ manual แทน (เพราะว่าตัวเองได้เป็นคน click icon คำสั่งกระมัง)

มันเลยกลับมาถึงเรื่องที่ผมบ่นๆ ไว้บ่อยๆ เรื่องนักศึกษาในสาขาวิชาที่ต้องเรียนเขียนโปรแกรม ซึ่งพบว่า มีปัญหากับกระบวนการคิดค่อนข้างเยอะ และไม่สามารถคิดอะไรในลักษณะ “เอาคำสั่ง มาต่อกัน” หรือ chain ของ Input-Process-Output ได้เลย

ผมลองตั้งโจทย์คร่าวๆ ว่า “มีไฟล์อยู่หนึี่งไฟล์ ข้างในไฟล์มีคำอยู่เยอะ ซ้ำๆ กัน ผมอยากรู้ว่ามีคำไม่ซ้ำกันทั้งหมดกี่คำ?” (ทั้งนี้ คำทุกคำ เป็นตัวเล็กหมด และไม่มีอักขระแปลกๆ ตัวอย่างเนื้อความในไฟล์คือ this is a cat this is a bat this is a map this is a phone)

เชื่อหรือไม่ว่า ไม่มีนักศึกษาสามารถคิด logic ของโจทย์นี้ได้แบบเป็นขั้นเป็นตอน ชัดเจน ได้แม้แต่คนเดียว ใน class ที่ผมสอน! ทั้งๆ ที่ logic มันง่ายแสนจะง่าย ก็แค่

  • เปิดไฟล์ เอาเนื้อความ
  • เอาเนื้อความในไฟล์มา แยกเป็นคำๆ
  • เอาคำที่ได้ มากรองเอาคำซ้ำออก
  • นับคำที่เหลือ

จะเห็นว่า มันก็เป็น chain ของ I-P-O อยู่ชัดเจนนะ คือ สมมติว่ามันเป็นฟังคชัน f, g, h, i ตามลำดับ ก็จะได้ว่าคำตอบของมันก็คือ i(h(g(f(x)))) … เขียนให้มันง่ายๆ กว่านี้หน่อย สมมติว่าเป็นฟังคชันชื่อ readfile, splitwords, unique_element, count ตามลำดับ ก็เป็น count(unique_element(splitwords(readfile(”filename”)))) ใช่มั้่ย จากนั้นก็แค่เอาไปดูว่า แต่ละภาษาหรือ environment เนี่ย เอามาทำแบบนี้ยังไงดี มีฟังค์ชันมั้ย ต้องเขียนเองมั้ย ถ้าจะเขียนเองจะต้องเขียนยังไง ก็แค่คิด I-P-O แบบเดิม ลงไปให้ลึกขึ้น เท่านั้น

ถ้าเขียนใน bash shell ก็คงเป็น

cat filename.txt | tr " " "\n" | sort -u | wc -w

ถ้าเป็น ruby ก็เป็น

File.read("filename.txt").split(" ").uniq.count

ถ้าเป็น haskell ก็เป็น

content <- readFile "filename.txt"
length (List.nub (words content))

ซึ่งจะซับซ้อนกว่าตัวอื่นๆ นิดหน่อย เพราะว่ามีเรื่อง IO String กับ String มาเกี่ยวข้อง (purely functional ก็แบบนี้แหละ)

แถม … เป็น C++ ก็ยาวหน่อย (ไม่รวมพวกการ include library มาใช้นะ)

int main()
{
  ifstream fin("filename.txt");
  set<string> words;
  copy(istream_iterator<string>(fin), istream_iterator<string>(),
       inserter(words, words.begin()));
  cout << words.size() << endl;
  return 0;
}

จะเห็นว่า logic มันไม่ได้เปลี่ยนเลยสักกะนิด เพียงแต่ว่าอาจจะ verbose บ้าง รูปแบบต่างกันบ้าง คำสั่งต่างกันบ้าง

วันนั้นข้อสรุปของบทสนทนาระหว่างผมกับพ่อก็คือ Generation Click พบความลำบากมากกว่า ในการคิดสื่อสารกับคอมพิวเตอร์เป็นขั้นตอน ด้วย text ด้วยคำสั่งต่างๆ ดังนั้นอาจจะช่วยได้ หากทุกคำสั่งมันมี icon หมด และลากมาวางต่อๆ กันได้ เหมือนกับ automator.app ใน Mac OS X หรือบรรดา visual programming ทั้งหลาย

สมัยผมสอน OOP ผมเคยให้ นักศึกษาเล่นกับ Alice ซึ่งก็เป็น visual programming พอสมควร ก็พบว่าได้ผลในระดับหนึ่ง แต่ว่าพอถึงเวลาต้องไปเขียน code ซึ่งเป็น text ก็ยังพบปัญหาเดิมๆ อยู่ เทอมนี้ก็เลยขอหักดิบ ให้ใช้งาน shell มันซะเลย เผื่ออะไรๆ จะดีขึ้นมาบ้าง

ลงท้ายด้วยการเผา advisee หน่อยละกัน … เจอพวกที่แทนที่จะคิด logic ของระบบงาน กลับคิดแต่ว่าจะต้องใช้โปรแกรมอะไร ต้องเริ่ม click ที่ปุ่มไหน แล้วจะ click ปุ่มไหนต่อ งานถึงจะเสร็จ ….​ ฮา (ไม่ออก)

ทำภาพ High Dynamic Range เทียม (#2)

Wednesday, May 6th, 2009

คราวนี้ลอง RAW ของ D3 (NEF บ้าง) ด้วยเทคนิคเดียวกัน ขั้นตอนเดียวกัน

  1. ภาพต้นฉบับ ลองสังเกตบริเวณที่แสงจ้า (ภายนอกหน้าต่าง) และบริเวณที่เป็นมืด (ขอบหน้าต่าง, ข้างตูสีแดง, ผนังใต้หน้าต่าง ฯลฯ) นะครับ

    nef_hdr_001.jpg

  2. ภาพ +1, +2 EV จะเห็นบริเวณที่มืดชัดเจนขึ้น

    nef_hdr_002.jpg

    nef_hdr_003.jpg

  3. ภาพ -1, -2 EV จะเห็นบริเวณนอกหน้าต่างชัดเจนขึ้น

    nef_hdr_004.jpg

    nef_hdr_005.jpg

  4. ภาพที่ทำ HDR เทียมเรียบร้อยแล้ว ลองเทียบกับภาพต้นฉบับดูครับ

    nef_hdr_006.jpg

คิดว่าเทคนิคนี้คงจะเป็นประโยชน์กับหลายๆ คนนะครับ ซึ่งเทคนิคนี้อาจใช้ได้ดีกับกรณีที่ต้องการจะถ่ายฟ้าให้ฟ้าสวยๆ และยังคงรายละเอียดอื่นๆ ในส่วนอื่นๆ ไว้ไม่ให้มืดไปด้วยครับ

ทำภาพ High Dynamic Range เทียมแบบขำๆ

Wednesday, May 6th, 2009

สำหรับคนถ่ายรูป คงจะรู้จักภาพแบบ High Dynamic Range (HDR) แน่ๆ โดยหลักการคร่าวๆ แล้ว HDR จะมีจากแนวความคิดที่ว่า “มันมีอะไรเสมอ ในที่แสงจ้า และที่มืด” และความจริงที่ว่า เซนเซอร์รับภาพ และหน่วยประมวลผลภาพของกล้องดิจิทัล ไม่สามารถเห็นช่วงของแสงได้กว้างเท่ากับที่ตาเราเห็น

ลองนึกดูเล่นๆ นะครับ เวลาเรามองไปที่หน้าต่างที่เปิดอยู่ เราจะเห็นวิวทิวทัศน์ข้างนอก ได้พร้อมกับเห็นรายละเอียดของขอบหน้าต่าง (หรือลายของผ้าม่าน) ได้อย่างชัดเจน แต่ถ้าเราถ่ายรูปล่ะ เรามักจะเห็นว่า ถ้าเราต้องการให้เห็นวิวข้างนอก ขอบหน้าต่างและม่านจะมืด แต่ถ้าเราต้องการให้เห็นขอบหน้าต่างชัด วิวข้างนอกก็จะสว่างไปจนมองไม่เห็นอะไร

เลยเป็นที่มาของเทคนิคการทำ HDR ครับ โดยปกติการทำ HDR เราจะต้องถ่ายภาพเดียวกัน ที่หลายๆ exposure เป็นลำดับ (เช่นถ่าย 5 ภาพ ต่างกันภาพละ 1 EV ซึ่งจะได้ที่ -2 EV, -1 EV, 0 EV, 1 EV, 2 EV) เพราะในขณะที่ -EV จะทำให้ภาพมืด แต่ก็จะรักษารายละเอียดในส่วนที่สว่างของภาพไว้ได้ ซึ่งตรงข้ามกับ +EV ที่จะทำให้เห็นรายละเอียดในส่วนที่มืดชัดขึ้น ซึ่งการถ่ายลักษณธนี้เราเรียกว่า exposure bracketing

ทีนี้ ถ้าเราไม่ได้ถ่าย exposure bracketing เอาไว้ล่ะครับ ทำอย่างไรดี? ซึ่งเราก็ยังคงโชคดีอยู่บ้าง ถ้าเราถ่าย RAW เอาไว้ เพราะว่า RAW จะเก็บข้อมูลของเรื่องแสงที่เซนเซอร์บันทึกไว้ได้ เอาไว้พอสมควร ซึ่งทำให้เรายังพอจะปรับ exposure value เพื่อดึงเอารายละเอียดในส่วนที่มืดและสว่างกลับมาได้บ้าง ก็เลยเป็นที่มาของ “HDR เทียม” ที่เราจะคุยกันในวันนี้ครับ

ปกติผมไม่เคยได้ลองเทคนิคพวกนี้หรอกนะ เพราะว่าไม่ได้ถ่าย RAW จนกระทั่งมาเล่น Leica M8 ซึ่งมี JPEG engine ที่ห่วยมากๆ จนต้องถ่าย RAW แบบไม่มีทางเลือก (และ RAW ของ M8 ก็ใช่ว่าจะดีนะครับ .. นอกจากเป็น DNG แล้วผมยังหาข้อดีของ M8 RAW ไม่ค่อยจะได้เลย และ M8 ยังมี DR ที่งั้นๆ เทียบกับกล้องอีกลายๆ ตัวอีกด้วย … แต่ไม่ขอพูดถึงมากล่ะครับ เดี๋ยวจะกลายเป็นรีวิว M8 ไป)

ลองทำตามนี้ครับ

  1. หา RAW มาสักภาพหนึี่ง สมมติว่าเป็นภาพด้านล่างนี้ละกัน จะเห็นว่ารายละเอียดตรงเหล็กขึงสะพาน (สีเหลือง) มืดไป ในขณะที่รายละเอียดบนเมฆบางส่วนก็หายไป (ขาวจ๋อง)

    test_fake_hdr_005.jpg

  2. จากนั้นปรับ exposure value ให้ไปทาง + EV เพื่อดึงเอารายละเอียดในที่มืดคืนมา ในตัวอย่างนี้ผมดึงไป +1 EV, +2 EV ตามลำดับ

    test_fake_hdr_001.jpg

    test_fake_hdr_002.jpg

  3. จากนั้นทำอย่างเดียวกัน ไปทาง - EV เพื่อดึงเอารายละเอียดบนเมฆกลับมาบ้าง ซึ่งผมทำเท่ากันคือ -1 EV, -2 EV

    test_fake_hdr_003.jpg

    test_fake_hdr_004.jpg

  4. จากนั้นก็ให้เอาโปรแกรมที่ทำพวก HDR (เช่น Photomatix Pro) มารวมกัน และทำ Tone Mapping (วิธีการใช้โปรแกรมพวกนี้ผมไม่ขอพูดถึง เพราะหาได้ทั่วไป …. และผมเองก็ “เล่นไม่เป็น” ด้วย) ซึ่งผลที่ได้จะเป็นแบบนี้

    test_fake_hdr_001_2_3_4_5_tonemapped.jpg

ก็ … ถึงจะสู้ทำ HDR แท้ไม่ได้ แต่ว่าก็ยังดีกว่าทำไม่ได้ล่ะนะ … ภาพนี้ถ่ายขณะรถติดบนสะพานพระราม 8 คงไม่มีเวลาจะตั้งขาตั้งและถ่าย bracket แบบจริงๆ จังๆ ล่ะครับ

แต่ว่ายังงั้นยังงี้ … กล้อง DSLR หลายตัวในปัจจุบันมันมีเทคโนโลยีฉลาดๆ มากมาย (เช่น Automatic/Adaptive High Dynamic Range ในชื่อต่างๆ กัน .. เช่น Active D-Lighting ของ Nikon เป็นต้น) และเซนเซอร์ที่ดี มี DR กว้างเอาเรื่อง … ดังนั้น ถ้าเมื่อไหร่ที่ผมใช้ D3 ถ่ายทั่วไป ผมก็ยังถ่าย JPEG เหมือนเดิมน่ะแหละ

“กี่ล้านดีคะ”

Tuesday, September 30th, 2008

เมื่อวานเดินผ่านแผนกกล้องของ Power Buys ที่เซ็นทรัลปิ่นเกล้า ก็เลยเดินๆ แวะๆ เข้าไปดู compact ซะหน่อยเผื่อจะมีอะไรน่าสนใจ (จริงๆ กำลังมองหา Panasonic Lumix LX3 อยู่)

พนักงานสาวคนหนึ่งก็เดินเข้ามาทักทาย ยิ้มแย้มแจ่มใส

พนักงาน: “พี่ชื่ออะไร ขอเบอร์ได้มั้ยคะ”

ไม่ใช่ล่ะ อันนี้ล้อเล่น อันนี้สิของจริง

พนักงาน: “ดูเป็นกี่ล้านดีคะ”

เล่นเอาเอ๋อกินไปพักนึง พร้อมกับหัวเราะดังๆ ในใจ

ผม (คิด): “โห เล่นถามกันแบบนี้เลย”
พนักงาน: “พี่ จะดูเป็นกี่ล้านดีคะ”
ผม (คิด): “นี่ถ้าบอกไปว่า 30MP นี่จะเอา Hasselblad ออกมาให้มั้ยเนี่ย”
ผม: “ขอดูเรื่อยๆ ก่อนครับ”

ถึงผมจะไม่ได้ตอบอะไรไปมากกว่านี้ เพราะว่าไม่อยากไปต่อล้อต่อเถียงกับพนักงานมากกว่านี้ และไม่มีเวลาถามเล่นอะไรมากมาย แต่ว่าเราคงจะจินตนการ conversation มาตรฐานต่อไปนี้ออก

พนักงาน: “ดูเป็นกี่ล้านดีคะ”
ลูกค้า: “เอ่อ อยากได้ที่คุณภาพของภาพดีๆ ไฟล์สวยๆ คมๆ น่ะครับ”
พนักงาน: “งั้นนี่เลยค่ะ รุ่นนี้ออกใหม่ ขายดี 14.5MP นะคะ ยิ่งทำให้ภาพคมชัดมาก ถ่ายออกมาสวยค่ะ”

ครับ ไม่ใช่ความผิดของพนักงานครับ แต่ว่าอย่างที่พวกเราทุกคนทราบกันเป็นอย่างดี ว่านี่คือ “Megapixel Myth” อีกหนึ่งผลงานที่น่าภาคภูมิใจของ number marketing และส่งผลให้เกิดสิ่งที่เรียกว่า “Megapixel Race” หรือการแข่งกันปั๊มตัวเลข MP ของกล้องของบรรดาผู้ผลิตต่างๆ

Number marketing พูดง่ายๆ เป็นวิธีการทำการตลาดโดยอาศัย “ความไม่รู้” ของผู้บริโภคให้เป็นประโยชน์ โดยการ “บอกความจริงไม่หมด” หรือ “ไม่บอกปัจจัยทั้งหมด” และข้อความที่บอกนั้น “เป็นจริงในระดับหนึ่ง” ในขั้นต้น

เช่น มีครั้งหนึ่งเช่นกันในอดีตกาลอันไกลโพ้น ที่จำนวน MP มากกว่านั้นมักจะส่งผลให้ได้คุณภาพของภาพที่ดีกว่า นั่นคือสมัยที่กล้องยังมี MP น้อยๆ เกินไปอยู่ เช่นการเพิ่มจาก 1.3MP เป็น 2MP นี่น่าจะได้ภาพที่มีคุณภาพสูงขึ้นจริง และยังคงอยู่ในความสามารถของเซนเซอร์ที่จะรับได้อย่างมีประสิทธิภาพ

แต่ว่ามันกลายเป็นความเชื่อทางการตลาด การพัฒนาจาก 7.1MP เป็น 8MP ก็ยังคงพอว่า แต่ว่าการพัฒนากันในปัจจุบัน ที่ยัดเยียดกันถึง 12-15MP ลงไปในเซนเซอร์ที่ไม่ได้มีขนาดเพิ่มขึ้น นี่ทำให้คุณภาพมันดีขึ้นเหรอ? มันเกินลิมิทของเซนเซอร์ขนาดเล็กของกล้อง compact ทั่วไปจะรับได้อย่างมีประสิทธิภาพแล้ว

ผมจะไม่พูดถึงเรื่อง “ฟิสิกส์ของแสงและอิเลคทรอนิกส์ในการรับภาพของเซนเซอร์กล้องดิจิทัล” ตรงนี้ เพราะว่าอันนั้นทำเป็นบทความวิชาการยาวๆ ได้เลย แต่ว่าเทียบง่ายๆ แบบนี้

ถ้าแสงที่เข้ามา (โฟตอน) เหมือนกับฝนที่ตกมาล่ะก็ การถ่ายรูปก็เหมือนกับการรองรับน้ำฝนน่ะแหละ เซนเซอร์ก็เหมือนกับภาชนะที่เอาไปรองน้ำฝน พวกกล้องแพงๆ อย่างพวก Medium format ก็เหมือนกันเอาอ่างอาบน้ำไปรับน้ำฝน พวก DSLR Full-frame ก็คงจะประมาณโอ่ง พวก DSLR ที่มี crop-factor ทั้งหลายก็คงอารมณ์กาละมังใหญ่ๆ

แต่ว่าพวกกล้อง compact เนี่ย ถ้าเป็น sensor ขนาด 1/1.7″ (หรือ 1/1.72″) ก็คงจะอารมณ์เดียวกับอ่างล้างหน้า ส่วนขนาด 1/2.33″ นี่คงจะขันน้ำ

นั่นคือขนาดเซนเซอร์ทั้งหมดนะครับ แล้วต้องมา “แบ่ง” ออกตามปริมาณ MP อีก ดังนั้นยิ่ง MP มาก ปริมาณน้ำที่แบ่งออกไปได้สำหรับแต่ละส่วนก็ยิ่งน้อยลงไปอีก

เช่น ถ้าเราจะแบ่งน้ำอาบนึง หรือว่าโอ่งนึง ออกเป็น 100 แก้ว เราคงจะได้น้ำล้นแก้ว หรือว่าได้แก้วใหญ่ๆ แต่ว่าถ้าเราจะต้องแบ่งน้ำขันนึงออกเป็น 100 แก้วเท่ากันล่ะ? คงได้กันแก้วละไม่กี่หยด

แล้วมัน matter ตรงไหนเนี่ย?

ไม่ต้องแปลกใจเลยครับ ที่กล้องที่มี sensor ใหญ่กว่าจะเก็บรายละเอียดของสีสันและแสง ได้ดีกว่ากล้องที่มี sensor เล็ก เพราะว่าถึงแม้ว่า pixel จะเป็นหน่วยย่อยที่สุดของภาพดิจิทัลและเป็นที่ทราบกันดีกว่า ยิ่ง pixel เยอะ ยิ่งเอามาต่อกันเป็นภาพใหญ่ได้เนียนมากขึ้น และน่าจะเก็บรายละเอียดเล็กๆ น้อยๆ ได้ดียิ่งขึ้น … ภาพที่ได้จากกล้อง MP สูงแต่ sensor เล็กมักจะมีพลวัตของแสงและสีสัน (Dynamic range) ที่น่าผิดหวัง ไม่พอ ด้วยเหตุผลทางฟิสิกส์และอิเลคทรอนิกส์ … ยังทำให้มีสัญญาณรบกวน (noise) มากขึ้นอีกด้วย

เป็นหนึ่งในอีกเรื่อง ที่สุดท้ายแล้ว การนำปัจจัยเดียวจากหลายๆ ปัจจัย (เช่น MP อย่างเดียว ในหลายปัจจัยอื่นๆ เช่น Image processing engine, sensor, ฯลฯ หรือการนำ clock speed อย่างเดียวในเรื่องของ CPU design) มาทำการตลาดและโฆษณา ส่งผลให้เกิด Number marketing ที่ลงท้ายด้วย Number myth

และกำลังทำงาน against ตัวเองอย่างมากมาย

ผู้ผลิต CPU ยักษ์ใหญ่อย่าง Intel เคยเจอปัญหานี้มาแล้ว กับตอนที่ออก Pentium-M ที่สามารถทำงานได้มีประสิทธิภาพมากกว่า Pentium-4 ด้วย clock speed ที่ต่ำกว่า แต่ตลาดไม่ยอมเชื่อว่า CPU ความเร็ว 1.7 จะทำงานเร็วกว่า CPU ความเร็ว 2.0

ตอนนี้ผมเชื่อว่าผู้ผลิตกล้องหลายรายก็กำลังเจอกันอยู่ ว่าจะตอบโจทย์ยังไงดี ว่ากล้อง 10MP ดีกว่า 14MP

ขนาด sensor เล็กที่กล้อง compact ส่วนมากใช้กันน่ะครับ 10MP ก็โคตรจะเต็มกลืนแล้ว แต่ว่าก็ยังมี MP bump กันเรื่อยๆ เมื่อรุุ่นใหม่ๆ ออกมา และผมก็ต้องผิดหวังทุกทีเมื่อเข้าไปดู spec แบบละเอียดใน web ที่ไม่มีการเพิ่มขนาด sensor เลย (เช่น Nikon Coolpix S710 14.5MP 1/1.72″ sensor เทียบกับรุ่นก่อนมัน S700 12MP 1/1.72″ sensor เท่ากัน) แล้วก็ต้องไปพยายามแก้ที่การพัฒนา Image processing engine แทน เพื่อจัดการกับ dynamic range และจัดการกับ noise หลังจากรับภาพเข้ามาเรียบร้อยแล้ว

แต่ว่ามันแก้ขีดจำกัดทางฟิสิกส์ของเซนเซอร์ไม่ได้หรอก รับเข้ามาดี ก็ยิ่งดีขึ้น (ยกตัวอย่างเช่น ทำไมกล้อง Nikon ซึ่งใช้ EXPEED Image processing concept engine เหมือนกัน ภาพจาก D700 ซึ่งเป็นกล้อง 12.3MP ถึงดีกว่า Nikon Coolpix S710 ซึ่งเป็นกล้อง 14.5MP แบบฟ้ากับเหว?)

แต่ก็ยังดีใจหน่อยนึง ที่รู้สึกจะมีหลายผู้ผลิต ให้ความสำคัญและความสนใจกับเรื่องนี้พอสมควร อย่างน้อยๆ ก็ Panasonic ที่ออก LX3 ด้วยการไม่เพิ่ม MP แต่ว่าไปเพิ่มขนาด sensor แทน ถึงแม้จะไม่ได้ใหญ่กว่าเดิมมากมายก็เถอะ แล้วก็ยังมี Sigma ที่ทำ DP1, DP2 ออกมาด้วยขนาด sensor ที่ใหญ่ผิดวิสัย compact

ผมหวังว่า แนวทางนี้คงจะยังไม่หายไป และหวังว่าเมื่อ “compact เปลี่ยนเลนส์ได้” (u4/3 ของ Olympus) ออกมาจริง จะดีขึ้น

และหวังว่าผู้ผลิตรายใหญ่ๆ เช่น Nikon, Canon, Sony จะกลับมาให้ความสำคัญกับเรื่องนี้มากขึ้น มันเป็นการ back-to-basic สำหรับปัจจัยหนึ่งที่สำคัญมากๆ เลยทีเดียว หลังจากทำสงคราม MP ที่ไม่มีใครชนะ และเกินขอบเขตที่ผู้บริโภคทั่วไป (ซึ่งเป็นตลาดของ compact) จะได้ประโยชน์แล้ว

การจัดการกับ MP สูงๆ ก็ทำได้แล้ว Image processing engine ที่ฉลาด จัดการกับ noise ได้ดี และจัดการกับ dynamic range ได้ดี ถึงจะเป็นภาพจากเซนเซอร์เล็ก ก็มีกันทุกคนทุกค่ายแล้ว ถ้าเปลี่ยนขนาดเซนเซอร์ ภาพที่ได้ก็น่าจะดีขึ้นเยอะเลย ไม่ใช่เหรอ

อีกอย่าง มันก็ยังคงเป็น “Number” ไม่ใช่เหรอ พวกทำ Number marketing ก็ยังคงทำได้นี่นา

ผมหวังว่าในอนาคต ผมจะได้ยิน conversation นี้ ถึงแม้โอกาสที่มันจะเกิดขึ้นจะน้อยมากๆ

พนักงาน: “จะดูเป็นแบบไหนดีคะ”
ลูกค้า: “อยากได้กล้อง compact ตัวเล็กๆ หน่อย พกสะดวกหน่อยครับ เอาไว้เที่ยวๆ เล่นๆ ถ่ายเรื่อยเปื่อยน่ะแหละครับ”
พนักงาน: “พี่ต้องใช้รูปใหญ่แค่ไหนคะ”
ลูกค้า: “แค่ดูในจอคอมพ์ 20″ หรือว่าขึ้นจอทีวี 30″ ที่บ้าน แล้วก็ถ้าจะอัดก็คงไม่เกิน A4 ครับ”
พนักงาน: “อืมมม งั้นใช้กล้อง 10MP คงพอค่ะ”
ลูกค้า: “ครับ งั้นสองตัวนี้ตัวไหนดีกว่ากันครับ”
พนักงาน: “ตัวนี้ sensor ใหญ่กว่าค่ะ ตัวนี้ 1/1.63″ อีกตัว 1/2.33″ ให้สีให้แสงดีกว่า noise น้อยกว่าค่ะ”
…………

ฝันกันต่อไป

ปล. เขียนไปเขียนมา ยาวกว่าที่คิดแฮะ

ทำยังไง ให้ “หน้าชัด หลังเบลอ”

Friday, August 1st, 2008

(ที่เขียนบทความนี้ยาวๆ เพราะว่าเขียนตอบในกระทู้ตามบอร์ดกล้องบ่อย และมีคนถามบ่อย ก็เลยคิดว่างั้นเขียนไว้หน่อยก็แล้วกัน)

ในการถ่ายรูป บางทีเราก็ไม่ได้ต้องการให้ชัดทั้งภาพ แต่ว่าต้องการให้มันชัดเฉพาะจุด/สิ่งที่ต้องการถ่าย เช่นการถ่ายภาพเน้นวัตถุ หรือการถ่ายภาพบุคคล ซึ่งทำให้เกิดความต้องการที่จะ “ควบคุม” ความชัดเจนของส่วนที่ไม่ได้ต้องการจะเน้น (หรือส่วนที่ไม่ได้เป็นจุดโฟกัส)

ในกรณีที่เป็นภาพถ่ายบุคคลหรือวัตถุ เรามักจะเรียกกันเป็นภาษาชาวบ้านๆ ว่า “ถ่ายให้หน้าชัดหลังเบลอ” ทีนี้จะถ่ายยังไงให้มันหน้าชัดหลังเบลอ หรือว่ามันมีปัจจัยอะไรบ้างที่ทำให้เกิดภาพที่หน้าชัดหลังเบลอได้บ้าง?

หลายคนบอกว่าลองไปอ่านๆ ดูจาก Depth of Field - Wikipedia … ซึ่ง อืมมมม ดูยุ่งยากแฮะ ยาวยืดเลย แถมมีโมเดลทางคณิตศาสตร์ หลักการทางฟิสิกส์ และการคำนวณอะไรไม่รู้วุ่นวายไปหมด เจอแล้วจอด… เลยขอเขียนจากประสบการณ์ให้ฟังง่ายๆ ก็แล้วกัน เอาเป็นว่าอย่างน้อยๆ ก็เป็น Guideline ในเชิงปฏิบัติในการเลือกกล้อง/เลนส์ และการตั้งค่าก็แล้วกันนะครับ

1. ขนาดของรูรับแสง:

อันนี้เป็นที่รู้กันในวงกว้างครับ ว่าขนาดของรูรับแสงส่งผลกับระยะชัดของภาพ ถ้ายิ่งรูรับแสงกว้าง จะยิ่งชัดตื้น ดูตัวอย่างจากภาพ (click เพื่อดูภาพเต็ม)

จากภาพ รูปซ้ายใช้กล้องตัวเดียวกัน เลนส์ตัวเดียวกัน คือ Nikon D300 + AF Nikkor 85 F1.4 ตากล้องกับแบบไม่ได้ขยับ เปลี่ยนแปลงแค่ค่ารูรับแสง รูปซ้ายใช้ F5.6 รูปขวาใช้ F1.8 (อ่อ ค่าพวกนี้ยิ่งน้อย ยิ่งรูรับแสงกว้าง) ตั้ง Aperture-priority mode ดังนั้นก็เลยมีการปรับความเร็วชัตเตอร์อัตโนมัติตามรูรับแสง ให้ความสว่างของรูปเท่าๆ กัน

ถ้าทางยาวโฟกัสเท่ากัน รูรับแสงกว้างกว่าจะให้ภาพส่วนที่ไม่อยู่ในโฟกัสมีความเบลอมากกว่า แต่ว่าทั้งนี้ไม่ได้หมายความว่าเป็นปัจจัยเดียวที่ทำให้มันเบลอสวยๆ นะครับ ลองดูภาพถัดไป

ภาพนี้ถ่ายที่ F2.8 ครับ ซึ่งถ้าขนาดของรูรับแสงมันมีผลอย่างเดียวเนี่ย มันควรจะเบลอในส่วนฉากหลังมากกว่านี้ใช่หรือไม่ (อย่างน้อยก็น่าจะเบลอกว่า F5.6 ด้านบน) คำตอบก็คือมันมีอีกหลายองค์ประกอบด้วยกันครับ ลองดูใน metadata ของรูปเล่นๆ ก่อนก็ได้ครับ … ว่ามันมีค่าอะไรเปลี่ยนไปอย่างที่เห็นได้ชัดจากรูปบนๆ

ครับ …​ผมถ่ายรูปนี้ที่ 20mm ใช้ AF Nikkor 20mm F2.8 ครับ

2. ระยะโฟกัส:

จริงๆ แล้วเป็นเรื่องใหญ่กว่ารูรับแสงอีกนะ ในความคิดผม (รูรับแสงมันส่งผลโดยตรงกับความเร็วชัตเตอร์ ทำให้ถ่ายสิ่งที่เคลื่อนไหวให้นิ่งได้ดีกว่า และเนื่องจากมันเป็นส่วนที่รับแสงอะนะ ยิ่งกว้างก็ยิ่งไว ถ่ายในที่แสงน้อยๆ ได้ดีกว่า … ผลถือว่าการถ่ายหน้าชัดหลังเบลอนี่เป็นผลพลอยได้มากกว่า)

ไม่ต้องพูดอะไรมากครับ ดูภาพเลยก็แล้วกัน

สามภาพนี้ ถ่ายใช้ Nikon D300 กับ AF-S Nikkor 70-200mm F2.8 VR เปิดรูรับแสง F2.8 ทั้งสามภาพ โดยที่ถ่ายที่ระยะโฟกัสต่างกัน คือ บนซ้าย 200mm, บนขวา 150mm และล่าง 105mm (ซึ่งจริงๆ รูปล่างไม่ใช่ตัวเปรียบเทียบที่ดีนัก เนื่องจากยืนไกลไปนิด ขนาดของแบบที่เห็นในรูปเลยไม่เท่ากับสองรูปบน)

แต่ก็เห็นว่าฉากหลังเบลอมากน้อยกว่ากันอย่างเห็นได้ชัด โดยที่ตัวแบบยังคงคมชัดอยู่

ให้อธิบายเรื่องนี้ง่ายๆ ก็คงจะต้องให้ทดลองแบบนี้ครับ

  • ให้เพื่อนซักคน ยืนชูสองนิ้วหรือยกมือก็ได้ อยู่ไกลๆ พอประมาณ (เช่นหน้าห้องกับหลังห้อง) แล้วมองโฟกัสไปที่มือของเพื่อนคนนั้นด้วยตาเปล่า จะเห็นว่ามือเพื่อนกับฉากที่อยู่หลังเพื่อนมันชัดเท่าๆ กัน
  • “ซูมด้วยเท้า” คือ เดินเข้าไปหาเพื่อนคนนั้นเรื่อยๆ โดยที่สายตายังคงโฟกัสกับมือเพื่อน จะเห็นว่ายิ่งใกล้ๆ ฉากหลังจะยิ่งเบลอมากขึ้น

เหตุผลง่ายๆ นะครับ ก็คือ การที่เราเดินเข้าไปหามือเพื่อนเรื่อยๆ เนี่ย ทำให้ระยะ “สัมพัทธ์” ระหว่างมือเพื่อน ฉากหลัง กับตาเรา เปลี่ยนไปหมดครับ มือเพื่อนห่างจากฉากหลังเท่าเดิมน่ะแหละ แต่ว่าถ้าวัด “สัมพัทธ์” กับตาเราแล้ว มือเพื่อนจะอยู่ห่างจากฉากหลังมากขึ้น และใกล้ตาเรามากขึ้น

ระยะโฟกัสของเลนส์ ก็เหมือนกับการเดินซูมเท้าน่ะแหละครับ มันมีหน้าที่ดึงวัตถุที่อยู่่ห่างๆ ให้เหมือนวางอยู่ใกล้ๆ กับกล้องมากขึ้น ดังนั้นก็เลยกลายเป็นว่ายิ่งทำให้เสมือนว่าอยู่ห่างกับฉากหลังมากขึ้น (ทั้งๆ ที่จริงๆ วัตถุกับฉากหลังอาจจะอยู่เกือบจะที่เดียวกันเลยก็ได้ ถ้ามองด้วยตาเปล่า)

3. ขนาดของ Sensor:

อันนี้ประหลาดหน่อย บางคนถึงขึ้นอาจจะสงสัยว่า “เกี่ยวไรด้วยเนี่ย”.. และไม่ค่อยจะเคยเห็นคนเขียนถึงเท่าไหร่

เคยสงสัยบ้างหรือเปล่าครับ ว่าทำไมพวกกล้องคอมแพคถึงถ่ายหน้าชัดหลังเบลอโคตรยาก ทั้งๆ ที่หลายคนดู spec ของเลนส์แล้ว ว่า “มันก็ 2.8 นะ ทำไมมันถ่ายไม่เบลอ?”

อย่างที่ผมบอกแหละครับ ให้คิดซะว่าขนาดของ aperture มันคือความไวของเลนส์มากกว่า มันช่วยการหยุดการเคลื่อนไหว หรือการโฟกัสในที่แสงน้อยมากกว่า ไม่ใช่ว่า F กว้างและมันจะเบลอเสมอไป

กล้องคอมแพคส่วนมากจะมีขนาด Sensor ที่เล็กมาก ….. (ซึ่งมีผลหลายอย่างครับ ไว้วันหลังจะเขียนให้อ่าน) ทำให้มีผลกับ “ระยะสัมพัทธ์” อีกแล้ว …

ลองเล่นที่นี่ดูครับ Digital Camera Sensor Sizes: How it Influences Your Photography ลงไปข้างล่างไปให้ถึง Depth of Field Requirements แล้วลองใส่ตัวเลขเล่นๆ ดู

อันนี้แสดงว่าถ้าเราใช้กล้องที่มี crop factor 1.5 แล้วตั้งทางยาวโฟกัส 10mm และรูรับแสง F11 แล้วจะได้ผลลัพธ์เทียบเท่ากับการใช้กล้อง 35mm ที่ 15mm (อันนี้คิดว่าคงทราบ) “และ” รูรับแสง 16.5 อืมมม

อืมม งั้นลองมาเล่นกันเล่นๆ ดีกว่า ว่าอยากได้ผลลัพธ์เดียวกับการที่ใช้กล้อง DSLR ที่มี crop factor 1.5 (พวก Nikon ที่ไม่ Full-frame) ถ่ายที่ระยะ 105mm และใช้รูรับแสง F2 จะต้องตั้งค่าในพวกกล้องที่ใช้ 1/1.8″ Sensor ยังไง …​

ซึ่งผลที่ได้ก็คือ 33mm และ F 0.6 ไม่ได้โจ๊กเล่นครับ ลองใส่ตัวเลขดูได้เลย

ลองเล่นๆ ดูพบว่า ถ้าตั้งขนาดรูรับแสง หรือ Aperture ที่ F2.8 บนกล้องคอมแพคแล้ว มันจะมีค่าเท่ากับ F13.5 บน 35mm/Full-frame และ F9 บนกล้อง crop factor 1.5 ครับ …. ยังไงๆ มันก็ชัดลึก

ยิ่ง ​Sensor ใหญ่เนี่ย ถ้าต้องการได้รูปภาพที่มีขนาด Subject เท่ากัน และมีความชัดตื้น/ลึกเท่ากันด้วย เราจะต้องเข้าใกล้มากขึ้น หรือใช้เลนส์ทางยาวโฟกัสมากขึ้น ในขณะเดียวกันก็ต้องใช้รูรับแสงที่ “แคบลง” เรื่อยๆ เพื่อรักษาระยะชัดตื้นชัดลึก (ถ้างงว่าเพราะอะไร ก็ลองคิดถึงตัวอย่างการซูมเท้านะครับ ….)

คิดๆ ก็ไม่แปลกล่ะครับ เนื่องจาก Sensor ของกล้องพวกคอมแพคมันเล็กจัด ..​ ดังนั้นจากมุมมองของ Sensor 1/1.8″ เหล่านั้นแล้ว ระยะ 7-10mm ถือว่า Normal ครับ (เทียบเท่ากับ 35-50mm บน Full-frame) อะไรไกลกว่านั้นถือว่าไกลหมด … ดังนั้นผลที่ได้ก็เลยเหมือนกับว่าให้เพื่อนไปยืนไกลๆ (จากตัวอย่างของทางยาวโฟกัส ที่พูดถึงไปแล้ว)

เลยเป็นเหตุผลที่ทำให้ถ่ายหน้าชัดหลังเบลอในกล้องคอมแพคยากมากๆ … ถ้าจะพอทำได้ก็ต้องใช้พวก super super zoom แล้วก็ซูมให้มากที่สุดเท่าที่จะมากได้ (หมายถึง optical zoom นะครับ อย่าไปยุ่งกับ digital zoom เพราะว่ามันคือ crop ธรรมดาๆ) จากนั้นก็ยืนให้ชิดกับแบบที่สุดเท่าที่จะมากได้ … ก็อาจจะพอทำได้บ้าง

ดาบสองคม

Monday, March 24th, 2008

ดาบสองคม คมหนึ่งมันคมเท่าไหร่ อีกคมมันมักจะคมเท่านั้น

แต่เรามักจะเห็นมันคมเดียว ณ เวลาหนึ่ง จนกระทั่งอีกคมหนึ่งมันไปฟาดอะไรซักอย่างของเราเท่านั้นแหละ ที่เราจะเห็นอีกคมหนึ่ง

เทคโนโลยีทุกอย่าง เป็นดาบสองคม
การพัฒนาการทุกอย่าง เป็นดาบสองคม

เข้าทำนอง ยิ่งรัก ก็ยิ่งทุกข์ เมื่อวันหนึ่งที่ความรักนั้นมันกลับมาเป็นดาบอีกคมหนึ่ง

คุณกำลังสัมผัสดาบสองคม ที่คมที่สุดในประวัติศาสตร์มนุษยชาติ

“อินเทอร์เน็ต”

อินเทอร์เน็ต ให้ Scale ที่ใหญ่ที่สุดเท่าที่จะเป็นไปได้ ในแง่ของ Information Economy นั่นคือ ทุกคนแทบจะมี Economy of Scale เทียบเท่ากัน ขาดแต่เพียง Social Networking รองรับเท่านั้น

ดาบสองคมที่ว่านั่น ก็คือ ถ้าทุกคนอยู่ในฐานะของ “สื่อ” ได้แล้วล่ะก็ จะมีกี่คนเล่าที่มีจรรยาบรรณของสื่อ หรือว่าคำถามที่ดีกว่านั้น จะมีกี่คนเล่าที่ใช้มันไปในทางสร้างสรรค์

เราต้องมี Information Literacy ที่ดีขึ้น …..

นอกจากนั้น อินเทอร์เน็ต มันยังเป็นแหล่งเก็บข้อมูลชั้นดี ที่ไม่มีวันล่ม แทบไม่มีวันหาย

ข้อมูลหลายอย่าง ถ้ามันอยู่บนอินเทอร์เน็ตแล้ว มันแทบจะเป็นอดีตที่ไม่มีวันลบวันเลือน ….

เช่น เมื่อไม่กี่ปีก่อน ถ้ามีแฟน แล้วเลิกกัน อยากจะตัดขาดทิ้งทุกอย่าง มันคงจะทำได้ไม่ยาก ก็แค่เอาเผารูป เผาฟิล์ม เผาจดหมาย ก็เท่านั้นเอง ……

แต่ว่าทุกวันนี้ ถ้ามันอยู่บนอินเทอร์เน็ตเสียแล้ว Searchๆ ไป ค้นๆ ไป มันก็ยิ่งเจอไปเรื่อยๆ ทั้งข้อความที่เคยคุยกัน ซึ่งแสดงความสัมพันธุ์ที่เคยมี รวมทั้งภาพโน้นภาพนี้จากวันที่เคยมีกันและกัน และมันอาจจะดูดีกว่าปัจจุบันมากมาย วันดีคืนร้าย ภาพเหล่านั้นของวันที่เคยดี อาจจะกลับมาหลอกหลอนตัวเองหรือคนอื่น ในรูปแบบไหนก็ได้

อืมมม แล้วก็ .. บางคนก็เขียนแต่เรื่องดีๆ ของกันและกัน เรื่องเสียๆ หายๆ ไม่เคยเขียน บางคนกลับกัน เขียนแต่เรื่องเสียๆ หายๆ เรื่องดีๆ ไม่เขียน พอวันหนึ่งที่มันกลายสภาพเป็นเพียงหน้าหนึ่งในประวัติศาสตร์ ข้อความทั้งดีและไม่ดี ก็คงส่งผลต่างกัน

ดาบสองคมชัดๆ