3 ก.พ. 2552

หลักการ Color Space

Color Space เป็นโมเดลทางคณิตศาสตร์ ซึ่งใช้บ่งบอกสีโดยใช้ตารางของตัวเลขเป็นอัตรส่วน
พูดง่าย ๆ คือ ถ้าเราเอาสีแม่สีเช่นสีแดง มาแบ่งระดับตั้งแต่แดงมาก ไปหาแดงน้อย จนไม่มีสีแดงเลยเนี่ยสมมติว่าแบ่งออกเป็น 10 ระดับ คือ 9 8 7 6 5 4 3 2 1 0

ความหมายก็คือ 9 จะแดงมาก และ 0 จะไม่แดงเลย แล้ว มาผสมกันเป็นตาราง เราจะได้ color space จากตัวอย่าง ถ้าแบ่งเป็น 10 ระดับทุกๆสี จะได้เป็น10 x 10 x 10 คือ จะได้สีออกมา 1000 สี ไม่ซ้ำกัน จำนวนบิตของสีในการแสดงผล ก็มาจากตรงนี้ เช่น กรณีของ สีที่ใช้ในการเขียนเวบ ซึ่งมีสีได้ 8 bit คือ 2 ยกกำลัง 8 นั่นหมายความว่า แต่ละแม่สีจะมีการแบ่งระดับไว้ 2 ยกกำลัง 8 ระดับ คือ 256 (0-255) ระดับ ดังนั้นจะสร้างสีได้ 256 x 256 x 256 = 16,777,216 ใช่แล้วครับ 16 ล้านสี แต่จริงๆแล้ว มันยังไม่พอ เนื่องจากว่าตาคนเราเนี่ยมันแยกแยะสีได้เยอะกว่านั้น

Color Model

ระบบสีมีอยู่หลายระบบด้วยกัน แต่ที่จะกล่าวถึง คือ RGB , YCrCb , Yub

RGB เป็นระบบสีที่แบ่งข้อมูลของสีออกเป็น R (แดง) G (เขียว) B (น้ำเงิน) ซึ่งเป็นสามสีหลักของแสงสี เลียนแบบการรับสีของตามนุษย์ ความเข้มแสงเมื่อผ่านการควอนไทซ์แล้ว จะถูกแบ่งออกเป็น 256 ระดับ (ระดับ 0 – 256 ) ซึ่งสอดคล้องกับ ระดับสีเทา (Gray Level) ตั้งแต่สีขาวถึงสีดำ จำนวน 256 ระดับ ซึ่งหมายถึง 1 จุดภาพ (pixel) จะมีข้อมูล 8 บิท

ในภาพของดิจิทัลวิดีโอนั้นแต่ละจุดภาพ จะมีข้อมูลของสีอยู่ซึ่งประกอบด้วย ความเข้มแสง Luminance Component และ ความเข้มสี Chrominance Component


YCrCb และ YUV จะแบ่งข้อมูลของสีออก ในลักษณะเดียวกับกระบวนการรับรู้ของประสาทตามนุษย์นั่นคือแบ่งเป็นส่วนของความเข้มแสง (ขาว – ดำ) และส่วนของความเข้มสี โดย Y จะเก็บข้อมูลความเข้มแสง ส่วน CrCb เก็บข้อมูลความเข้มสี โดยระบบสีต่างๆ สามารถแปลงกลับไปมาได้ เช่น RGB แปลงเป็น YCrCb , YCrCb แปลงเป็น RGB ฯลฯ ขึ้นอยู่กับการใช้งาน