paint-brush
RGB ล้าสมัยสำหรับ AI และการสตรีมโดย@ykanavalik
385 การอ่าน
385 การอ่าน

RGB ล้าสมัยสำหรับ AI และการสตรีม

โดย Yauheni Kanavalik7m2025/02/09
Read on Terminal Reader

นานเกินไป; อ่าน

*YUV* มีประโยชน์อย่างยิ่งสำหรับผู้ที่เกี่ยวข้องกับการสตรีมวิดีโอแบบ P2P หรือการประมวลผลสตรีมวิดีโอด้วย AI โดย YUV เป็นผู้นำโดยซ่อนตัวอยู่ภายใต้กลไกการแลกเปลี่ยนที่ซับซ้อนชุดหนึ่งที่ช่วยให้เรารับชมวิดีโอได้โดยไม่เกิดความล่าช้า ประหยัดข้อมูลได้หลายกิกะไบต์ และเร่งการประมวลผลแบบเรียลไทม์สำหรับ AI
featured image - RGB ล้าสมัยสำหรับ AI และการสตรีม
Yauheni Kanavalik HackerNoon profile picture
0-item
1-item
2-item

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


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


แต่จะเกิดอะไรขึ้นหากคุณต้องการเชื่อมโยงสองโลกนี้เข้าด้วยกัน โมเดล AI ที่ได้รับการฝึกบน RGB จัดการสตรีมวิดีโอใน YUV ได้อย่างไร เหตุใดโคเดกจึงลังเลที่จะทำงานกับ RGB และเป็นไปได้หรือไม่ที่จะบรรลุความสมดุลที่สมบูรณ์แบบระหว่างรูปแบบเหล่านี้ ที่นี่ ฉันจะช่วยให้คุณเจาะลึกว่าทำไม RGB และ YUV จึงเหมือนกับนักมวยสองคนจากรุ่นน้ำหนักที่แตกต่างกันที่ถูกบังคับให้มาพบกันในสังเวียนเดียวกันของการสตรีมวิดีโอและเทคโนโลยี AI

RGB และ YUV คืออะไร?

รูปแบบ RGB และ RGBA ค่อนข้างตรงไปตรงมาและใช้กันอย่างแพร่หลายในกราฟิกคอมพิวเตอร์ ดังนั้นเราจะไม่ลงลึกในพื้นฐานมากเกินไป กล่าวโดยสรุป เมื่อคอมพิวเตอร์ของคุณเรนเดอร์ภาพ คอมพิวเตอร์จะทำงานด้วยสามช่องสัญญาณ ได้แก่ สีแดง (R) , สีเขียว (G) และ สีน้ำเงิน (B) นี่คือลักษณะการทำงานของหน้าจอส่วนใหญ่


RGBA เพิ่มช่องสัญญาณเพิ่มเติม — อัลฟา (A) — ซึ่งควบคุมความโปร่งใส ทำให้มีประโยชน์อย่างยิ่งสำหรับกราฟิกบนเว็บและการออกแบบดิจิทัล RGB แสดงสีได้อย่างแม่นยำโดยไม่เกิดการบิดเบือน แต่มีข้อเสียสำคัญคือใช้พื้นที่มากเกินไป ตัวอย่างเช่น รูปภาพที่มีความละเอียด 1920 × 1080 ในรูปแบบ RGBA (ใช้ 1 ไบต์ต่อช่องสัญญาณ) ใช้พื้นที่: 1920×1080×4 = 8294400 bytes ≈ 8.2 MB


โครงสร้าง RBG รูปถ่ายโดย Michael Maasen บน Unsplash


รูปแบบที่บีบอัด เช่น JPEG ช่วยลดขนาดไฟล์ แต่ในโลกของการสตรีมวิดีโอ P2P และการประมวลผลแบบเรียลไทม์ด้วย AI บนเครื่องของลูกค้า เช่น การจดจำวัตถุ การตรวจจับจุดสำคัญ และการแบ่งส่วน นี่ไม่ใช่ตัวเลือกที่เหมาะสม เราจำเป็นต้องส่งและวิเคราะห์ทุกเฟรมแบบเรียลไทม์ โดยไม่ทำให้เกิดอาตีแฟกต์การบีบอัดหรือสูญเสียรายละเอียดที่สำคัญ นั่นคือจุดที่ YUV เข้ามามีบทบาท โดยนำเสนอแนวทางที่ชาญฉลาดกว่าในการสร้างสมดุลระหว่างคุณภาพ ประสิทธิภาพ และประสิทธิภาพการทำงาน

YUV คืออะไร?

ต่างจาก RGB ที่เก็บข้อมูลสีโดยตรง YUV จะแยกภาพออกเป็นองค์ประกอบลูมา (Y) และโครมา (U และ V) วิธีนี้ช่วยให้บีบอัดข้อมูลได้อย่างมีประสิทธิภาพโดยไม่สูญเสียคุณภาพอย่างมาก


Y (Luma, ความสว่าง) – แสดงความสว่างของพิกเซล โดยกำหนดว่าภาพจะสว่างหรือมืดเพียงใด โดยพื้นฐานแล้ว นี่คือภาพในโทนสีเทา (ขาวดำ) โดยคงรูปร่างและรายละเอียดทั้งหมดไว้


U และ V (Chroma, color) – จัดเก็บข้อมูลสีแต่มีความแม่นยำต่ำกว่า เนื่องจากดวงตาของมนุษย์รับรู้ความสว่างได้คมชัดกว่าความแม่นยำของสี กล่าวอย่างง่ายๆ ก็คือ ช่องสัญญาณเหล่านี้ทำหน้าที่เป็น “การเปลี่ยนแปลง” ความสว่างแบบสองมิติไปยังเฉดสีต่างๆ


การแยกนี้เป็นกุญแจสำคัญที่ทำให้ YUV มีประสิทธิผลอย่างมากในการบีบอัดวิดีโอ การสตรีมมิ่ง และการประมวลผลวิดีโอที่ใช้ AI

เหตุใด YUV จึงดีกว่าสำหรับการสตรีมวิดีโอ?

ข้อดีอย่างหนึ่งของ YUV ที่ไม่ชัดเจนแต่มีประสิทธิภาพสูงก็คือ ช่องสัญญาณหนึ่ง (Y) ของ YUV นั้นไม่ได้มีไว้สำหรับจัดเก็บสีเลย แต่กลับอธิบายสีได้อย่างชัดเจน รูปร่าง ของวัตถุ

เรื่องนี้เกี่ยวข้องกับการมองเห็นของมนุษย์อย่างไร?

ดวงตาของมนุษย์รับรู้ภาพโดยใช้โฟโตรีเซพเตอร์สองประเภทในจอประสาทตา:


  • เซลล์รูปแท่ง (~120 ล้านเซลล์) – ไวต่อความสว่างและความคมชัด แต่ไม่สามารถตรวจจับสีได้ เซลล์รูปแท่งทำให้เราสามารถมองเห็นรูปร่างและรายละเอียดต่างๆ ได้แม้ในสภาพแสงน้อย

  • เซลล์รูปกรวย (~6 ล้านเซลล์) – มีหน้าที่รับรู้สี แต่มีจำนวนน้อยกว่าถึง 20 เท่า เซลล์รูปกรวยทำงานได้เฉพาะในสภาพแสงที่ดีเท่านั้น และมี 3 ประเภท ได้แก่ สีแดง สีเขียว และสีน้ำเงิน ( RGB )


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


นี่คือหลักการสำคัญของ YUV

  • ช่อง Y (ความสว่าง) ยังคงไม่เปลี่ยนแปลง เพื่อรักษารูปร่างของวัตถุไว้ ดังนั้นเซลล์แท่งในดวงตาของคุณจึงจะได้รับความพึงพอใจ
  • ช่อง U และ V (ข้อมูลสี) สามารถบีบอัดได้โดยไม่สร้างสิ่งแปลกปลอมที่สังเกตเห็นได้ และเซลล์รูปกรวยน้อยลงจะไม่สังเกตเห็นความแตกต่างใดๆ


ซึ่งหมายความว่า YUV ปฏิบัติต่อช่องสัญญาณของตนแตกต่างกันตามการรับรู้ของมนุษย์ ซึ่งแตกต่างจาก RGB ที่ช่องสัญญาณทั้งสามมีความสำคัญเท่าเทียมกัน เนื่องจากข้อมูลสี (U และ V) มีความสำคัญน้อยกว่า เราจึงลดปริมาณข้อมูลที่ส่งออกโดยไม่สูญเสียคุณภาพที่รับรู้ได้


นี่เป็นวิธีการทำงานของกลไก Chroma Subsampling โดยเฉพาะ — เพิ่มประสิทธิภาพการเข้ารหัสวิดีโอด้วยการบีบอัดข้อมูลสีแบบเลือกสรรในขณะที่ยังคงรักษาความสว่างไว้

การสุ่มตัวอย่าง Chroma ช่วยโลกของการสตรีมวิดีโอได้อย่างไร

การสุ่มตัวอย่างสี เป็นเทคนิคในการลดปริมาณข้อมูลสีในภาพ แทนที่จะเก็บสีไว้สำหรับทุกพิกเซล (เช่นใน RGB ) YUV จะลดความละเอียดของช่องสีในขณะที่ยังคงความสว่าง (รูปร่าง) ไว้


มีมาตรฐานอุตสาหกรรมหลายประการสำหรับการสุ่มตัวอย่างโครมา:

  • การสุ่มตัวอย่าง แบบ 4:2:2 – พิกเซลแต่ละคู่จะแบ่งปันข้อมูลสีร่วมกัน ตาแทบจะไม่สังเกตเห็นความแตกต่าง แต่ขนาดไฟล์จะลดลง 33% วิธีนี้ไม่ค่อยได้ใช้

  • การสุ่มตัวอย่างแบบ 4:2:0 – สีจะถูกเก็บไว้เพียงหนึ่งพิกเซลจากสี่พิกเซล ช่วยให้เกิดการบีบอัดข้อมูลสูงสุด


เหตุใด 4:2:0 จึงเป็นมาตรฐานหลัก?

รูปแบบนี้ช่วยลดขนาดข้อมูลลงครึ่งหนึ่งโดยไม่ทำให้คุณภาพของภาพลดลงอย่างเห็นได้ชัด นั่นคือเหตุผลที่รูปแบบนี้จึงเป็นมาตรฐานสำหรับบริการสตรีมมิ่งและแพลตฟอร์มวิดีโอเกือบทั้งหมด ตัวอย่างเช่น Microsoft Teams ส่งสัญญาณวิดีโอที่อัตรา 4:2:0 เนื่องจากให้สมดุลที่ดีที่สุดระหว่างคุณภาพและประสิทธิภาพของแบนด์วิดท์


ในการตั้งค่านี้ ค่าสีเดียวแสดงถึงสี่พิกเซล และดวงตาของมนุษย์ไม่ตรวจพบความแตกต่าง แม้จะซูมเข้าก็ตาม เนื่องจากความสว่าง (Y) ยังคงไม่เปลี่ยนแปลง


1920×1080×1.5 = 3110400 bytes ≈ 3.1 MB บนเฟรมเดียว ส่งผลให้ขนาดข้อมูลลดลงมากกว่าสองเท่าเมื่อเทียบกับ RGBA โดยไม่สูญเสียคุณภาพที่เห็นได้ชัด!


รูปภาพด้านล่างแสดงให้เห็นว่าเฟรม/ภาพสุดท้ายมีลักษณะอย่างไรเมื่อใช้การสุ่มตัวอย่าง แบบ 4:2:0 ของโครมา โปรดสังเกตว่า U หนึ่งตัวอธิบาย Y สี่ตัวได้ ซึ่งหมายความว่าหน่วยความจำจะชนะ 4 เท่า!

รูปภาพขนาด 6x4 พิกเซลพร้อมการบีบอัดแบบ 4:2:0 รูปภาพโดย Yauheni Kanavalik


เหตุใด YUV จึงมีประโยชน์มากสำหรับ AI?

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


ตัวอย่างเช่น เราได้พัฒนาระบบแต่งหน้าเสมือนจริงที่ทาลิปสติกและอายแชโดว์บนใบหน้าของบุคคลในวิดีโอแชท โดยทำได้อย่างสมจริงมากที่สุด ในงานดังกล่าว ความแม่นยำในรูปทรงและการเคลื่อนไหวมีความสำคัญอย่างยิ่ง ในขณะที่ข้อมูลสีมีความสำคัญรองลงมา นอกจากนี้ คุณยังสามารถฝึกโมเดลของคุณให้เข้าใจภาพโทนสีเทาเพื่อเพิ่มประสิทธิภาพได้ ในขณะเดียวกัน การได้รับภาพโทนสีเทาบน GPU จะมีประสิทธิภาพมากกว่ามากหากคุณใช้ YUV 4:2:0 เป็นอินพุต เนื่องจากคุณต้องตัดเฉพาะส่วนแรกของภาพเท่านั้นเพื่อให้ได้ช่องโทนสีเทาที่ได้

ความท้าทายสำคัญในการสตรีมวิดีโอด้วย AI

รูปร่างสำคัญมากกว่าสี

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


ประสิทธิภาพเป็นสิ่งสำคัญ

สำหรับ AI แบบเรียลไทม์ เฟรมแต่ละเฟรมจะต้องได้รับการประมวลผลภายใน 20 ms เพื่อรักษาอัตราเฟรมที่ราบรื่น ( 50–60 FPS ) ยิ่งเครือข่ายประสาทรับและประมวลผลเฟรมได้เร็วเท่าไร แอปพลิเคชันก็จะทำงานได้เป็นธรรมชาติและลื่นไหลมากขึ้นเท่านั้น


  • รูปแบบ RGB มีน้ำหนักมากเกินไป – เฟรม RGBA 1920×1080 มีน้ำหนัก 8.2 MB ซึ่งทำให้หน่วยความจำและพลังการประมวลผลทำงานหนักมาก
  • YUV ที่มีการสุ่มตัวอย่างโครมา 4:2:0 ช่วยลดข้อมูลที่ไม่จำเป็นใน O(1) ด้วยการส่งสีที่ความละเอียดต่ำกว่า ช่วยประหยัดทรัพยากรการคำนวณโดยไม่สูญเสียคุณภาพที่มองเห็นได้


การประมวลผล GPU ที่ได้รับการเพิ่มประสิทธิภาพ

GPU สมัยใหม่ได้รับการปรับให้เหมาะสมสำหรับการประมวลผล YUV เป็นอย่างดี ซึ่งหมายความว่าเราสามารถทำงานกับรูปภาพได้โดยไม่ต้องแปลงเป็น RGB ซึ่งจะช่วยลดการคำนวณที่ไม่จำเป็นและเพิ่มความเร็วในการประมวลผล


การประหยัดแบนด์วิธและหน่วยความจำ

การลดขนาดข้อมูลเป็นสิ่งสำคัญสำหรับการส่งและประมวลผลวิดีโอแบบเรียลไทม์:


  • ในการสตรีม การใช้ YUV 4:2:0 จะลดการส่งข้อมูลลง 50% โดยไม่สูญเสียคุณภาพที่เห็นได้ชัด
  • ใน AI โมเดลสามารถประมวลผลข้อมูลที่บีบอัดได้โดยไม่ต้องขยายเป็น RGB ช่วยประหยัด VRAM และพลังในการคำนวณ

บทสรุป

พูดตรงๆ ว่า RGB ดูเหมือนจะเป็นตัวเลือกที่ชัดเจน เพราะเป็นมาตรฐานในกล้อง หน้าจอ และกราฟิกคอมพิวเตอร์ แต่เมื่อต้องใช้งานวิดีโอสตรีมมิ่งในโลกแห่งความเป็นจริงและการผสานรวม AI แล้ว RGB กลับกลายเป็น ไดโนเสาร์ที่เชื่องช้า จากนั้น YUV ก็เข้ามาแทนที่ โดยให้ความสมดุลที่สมบูรณ์แบบระหว่างคุณภาพ ความเร็ว และประสิทธิภาพของข้อมูล ระบบจัดเก็บข้อมูลอันชาญฉลาด (แยกความสว่างออกจากสีที่บีบอัด) ช่วยให้สามารถทำสิ่งต่างๆ ที่อาจเป็นฝันร้ายในการประมวลผลใน RGB ได้


  • ข้อมูลน้อยลง = ความเร็วที่มากขึ้น ไม่มีใครอยากให้มีเมกะไบต์เพิ่มขึ้นมาทำให้การประมวลผลวิดีโอแบบเรียลไทม์ช้าลง
  • ตาไม่สังเกตเห็นกลอุบายนี้ สมองของเรามุ่งเน้นไปที่รูปร่าง ไม่ใช่การสูญเสียสีเล็กน้อย YUV ใช้ประโยชน์จากสิ่งนี้ได้อย่างเต็มที่
  • AI ให้ความสำคัญกับ FPS ไม่ใช่ความแตกต่างของสี เมื่อคุณมีเวลาเพียง 16ms ต่อเฟรม YUV จะขจัดการคำนวณที่ไม่จำเป็นและช่วยประหยัดทรัพยากร
  • GPU ชื่นชอบ YUV ตัวแปลงสัญญาณที่เร่งด้วยฮาร์ดแวร์ การคำนวณที่รวดเร็ว และการแปลงรูปแบบขั้นต่ำ ซึ่งเป็นทุกสิ่งที่คุณต้องการสำหรับวิดีโอประสิทธิภาพสูง

คำตัดสินขั้นสุดท้าย

RGB นั้นยอดเยี่ยมมาก แต่ไม่ได้เป็นเช่นนั้นเมื่อต้องเกี่ยวข้องกับประสิทธิภาพแบบเรียลไทม์และ AI สำหรับการสตรีมวิดีโอ YUV ถือเป็นเครื่องมือสำคัญและช่วยขับเคลื่อนโซลูชันหลักๆ มาหลายปีแล้ว


ดังนั้น หากคุณยังคิดว่า RGB คือราชา ถึงเวลาต้องคิดใหม่เสียที เพราะรูปแบบวิดีโอต่างๆ ต่างก็เล่นตามกฎเกณฑ์ของตนเองมานานแล้ว