ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

ส่วนที่สอง: ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร

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

หากเราพิจารณาสีสุดท้ายว่าเป็นสีผสมของสิ่งที่เรียกว่า แม่สี (แดง เขียว และน้ำเงิน) ในเมทริกซ์สามมิติของเรา เรากำหนดระนาบสามระนาบ: อันแรกสำหรับสีแดง อันที่สองสำหรับสีเขียว และอันสุดท้ายสำหรับสีน้ำเงิน
ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน
เราจะเรียกแต่ละจุดในเมทริกซ์นี้ว่าพิกเซล (องค์ประกอบรูปภาพ) แต่ละพิกเซลมีข้อมูลเกี่ยวกับความเข้ม (โดยปกติจะเป็นค่าตัวเลข) ของแต่ละสี ตัวอย่างเช่น, พิกเซลสีแดง หมายความว่าประกอบด้วย 0 สีเขียว 0 สีน้ำเงิน และสีแดงสูงสุด พิกเซลสีชมพู สามารถเกิดขึ้นได้โดยใช้การผสมสีสามสี ใช้ช่วงตัวเลขตั้งแต่ 0 ถึง 255 พิกเซลสีชมพูจึงถูกกำหนดเป็น สีแดง = 255, สีเขียว = 192 и สีน้ำเงิน = 203.

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

บทความนี้เผยแพร่โดยได้รับการสนับสนุนจาก EDISON

เรากำลังพัฒนา แอพพลิเคชั่นสำหรับการเฝ้าระวังวิดีโอสตรีมมิ่งวิดีโอและเราก็มีส่วนร่วมด้วย บันทึกวิดีโอในห้องผ่าตัด.

วิธีอื่นในการเข้ารหัสภาพสี

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

RGB

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

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

ในการจัดเก็บความเข้มของแต่ละสี จำเป็นต้องใช้จำนวนบิตที่แน่นอน - เรียกว่าปริมาณนี้ ความลึกบิต. สมมติว่ามีการใช้ไป 8 บิต (ตามค่าตั้งแต่ 0 ถึง 255) ต่อระนาบสี จากนั้นเรามีความลึกของสี 24 บิต (8 บิต * 3 ระนาบ R/G/B)

คุณสมบัติของภาพอีกอย่างหนึ่งก็คือ ใบอนุญาตซึ่งเป็นจำนวนพิกเซลในหนึ่งมิติ มักแสดงเป็น กว้าง×สูงดังในภาพตัวอย่างขนาด 4 คูณ 4 ด้านล่าง
ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

คุณสมบัติอื่นที่เราจัดการเมื่อทำงานกับรูปภาพ/วิดีโอคือ อัตราส่วนภาพอธิบายความสัมพันธ์ตามสัดส่วนปกติระหว่างความกว้างและความสูงของรูปภาพหรือพิกเซล

เมื่อพวกเขาบอกว่าภาพยนตร์หรือรูปภาพบางเรื่องมีขนาด 16 คูณ 9 พวกเขามักจะหมายถึง อัตราส่วนการแสดงผล (ดาร์ - จาก อัตราส่วนการแสดงผล). อย่างไรก็ตาม บางครั้งอาจมีรูปร่างที่แตกต่างกันของแต่ละพิกเซล - ในกรณีนี้ เรากำลังพูดถึง อัตราส่วนพิกเซล (PAR - จาก อัตราส่วนพิกเซล).

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

หมายเหตุถึงพนักงานต้อนรับ: ดีวีดี สอดคล้องกับ ดาร์ 4 ถึง 3

แม้ว่าความละเอียดที่แท้จริงของ DVD คือ 704x480 แต่ยังคงรักษาอัตราส่วนภาพ 4:3 ได้ เนื่องจาก PAR คือ 10:11 (704x10 / 480x11)

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

จำนวนบิตต่อวินาทีที่ต้องใช้ในการแสดงวิดีโอคือจำนวนบิตต่อวินาที ความเร็วในการส่ง - บิตเรต.

บิตเรต = กว้าง * สูง * ความลึกบิต * เฟรมต่อวินาที

ตัวอย่างเช่น วิดีโอ 30 fps, 24 bps, 480x240 จะต้องมี 82,944,000 bps หรือ 82,944 Mbps (30x480x240x24) - แต่หากไม่มีการใช้วิธีการบีบอัด

ถ้าโอนเร็ว เกือบจะคงที่แล้วมันถูกเรียกว่า ความเร็วในการส่งข้อมูลคงที่ (CBR - จาก อัตราบิตคงที่). แต่มันก็สามารถเปลี่ยนแปลงได้เช่นกัน ในกรณีนี้เรียกว่า อัตรารับส่งข้อมูลแบบแปรผัน (VBR - จาก อัตราบิตตัวแปร).

กราฟนี้แสดง VBR ที่จำกัด โดยที่จะไม่เสียบิตมากเกินไปในกรณีของกรอบที่มืดสนิท

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

วิศวกรเริ่มพัฒนาวิธีการเพิ่มอัตราเฟรมที่รับรู้ของการแสดงผลวิดีโอเป็นสองเท่าโดยไม่ต้องใช้แบนด์วิดท์เพิ่มเติม วิธีการนี้เรียกว่า วิดีโออินเทอร์เลซ; โดยพื้นฐานแล้ว จะส่งครึ่งหน้าจอใน "เฟรม" แรก และอีกครึ่งหนึ่งใน "เฟรม" ถัดไป

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

ดี! ตอนนี้เราทราบแล้วว่ารูปภาพถูกนำเสนอในรูปแบบดิจิทัลอย่างไร วิธีจัดเรียงสี จำนวนบิตต่อวินาทีที่เราใช้เพื่อแสดงวิดีโอ หากอัตราบิตคงที่ (CBR) หรือตัวแปร (VBR) เรารู้เกี่ยวกับความละเอียดที่กำหนดโดยใช้อัตราเฟรมที่กำหนด เราคุ้นเคยกับคำศัพท์อื่นๆ มากมาย เช่น วิดีโอแบบอินเทอร์เลซ, PAR และอื่นๆ

การกำจัดความซ้ำซ้อน

เป็นที่ทราบกันว่าวิดีโอที่ไม่มีการบีบอัดไม่สามารถใช้งานได้ตามปกติ วิดีโอความยาวหนึ่งชั่วโมงที่ความละเอียด 720p และ 30 เฟรมต่อวินาทีจะใช้พื้นที่ถึง 278 GB เราได้ค่านี้โดยการคูณ 1280 x 720 x 24 x 30 x 3600 (ความกว้าง ความสูง บิตต่อพิกเซล FPS และเวลาเป็นวินาที)

ใช้ อัลกอริธึมการบีบอัดแบบไม่สูญเสียข้อมูลเช่น DEFLATE (ใช้ใน PKZIP, Gzip และ PNG) จะไม่ลดแบนด์วิธที่จำเป็นเพียงพอ เราต้องมองหาวิธีอื่นในการบีบอัดวิดีโอ

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

สีความสว่างและดวงตาของเรา

ดวงตาของเราไวต่อความสว่างมากกว่าสี คุณสามารถดูสิ่งนี้ได้ด้วยตัวเองโดยดูภาพนี้

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

หากคุณไม่เห็นสีของสี่เหลี่ยมทางด้านซ้ายของภาพ A и B จริงๆ แล้วมันก็เหมือนกัน นั่นเป็นเรื่องปกติ สมองของเราบังคับให้เราใส่ใจกับแสงและเงามากกว่าสี ทางด้านขวาระหว่างช่องสี่เหลี่ยมที่กำหนดจะมีจัมเปอร์ที่มีสีเดียวกัน - ดังนั้นเราจึง (เช่นสมองของเรา) ระบุได้อย่างง่ายดายว่าอันที่จริงมันเป็นสีเดียวกัน

มาดู (แบบง่าย ๆ ) ว่าดวงตาของเราทำงานอย่างไร ดวงตาเป็นอวัยวะที่ซับซ้อนประกอบด้วยหลายส่วน อย่างไรก็ตาม เราสนใจกรวยและแท่งมากที่สุด ดวงตาประกอบด้วยแท่งประมาณ 120 ล้านแท่ง และกรวย 6 ล้านอัน

ลองพิจารณาการรับรู้สีและความสว่างเป็นหน้าที่แยกกันของบางส่วนของดวงตา (อันที่จริงทุกอย่างค่อนข้างซับซ้อนกว่า แต่เราจะทำให้ง่ายขึ้น) เซลล์แบบแท่งมีหน้าที่รับผิดชอบเรื่องความสว่างเป็นหลัก ในขณะที่เซลล์รูปกรวยมีหน้าที่รับผิดชอบเรื่องสี โคนแบ่งออกเป็นสามประเภท ขึ้นอยู่กับเม็ดสีที่ประกอบด้วย: S-cones (สีน้ำเงิน), M-cones (สีเขียว) และ L-cones (สีแดง)

เนื่องจากเรามีแท่งรูปแท่ง (ความสว่าง) มากกว่ารูปกรวย (สี) จำนวนมาก เราจึงสามารถสรุปได้ว่าเราสามารถแยกแยะการเปลี่ยนผ่านระหว่างความมืดและความสว่างได้มากกว่าสี

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

คุณสมบัติความไวของคอนทราสต์

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

เนื่องจากเรารู้ว่าเราไวต่อความสว่างของภาพมากกว่า เราจึงสามารถลองใช้ข้อเท็จจริงนี้ได้

รุ่นสี

เราค้นพบวิธีการทำงานกับภาพสีโดยใช้โครงร่าง RGB เพียงเล็กน้อย มีรุ่นอื่นๆด้วย มีแบบจำลองที่แยกความสว่างออกจากโครมา และเรียกว่า YCbCr. อย่างไรก็ตามยังมีรุ่นอื่น ๆ ที่สร้างแผนกที่คล้ายกัน แต่เราจะพิจารณาเฉพาะอันนี้เท่านั้น

ในรุ่นสีนี้ Y เป็นตัวแทนของความสว่าง และยังใช้ช่องสี XNUMX ช่อง คือ Cb (สีน้ำเงินเข้ม) และ Cr (สีแดงเข้ม). YCbCr สามารถหาได้จาก RGB และการแปลงแบบย้อนกลับก็เป็นไปได้เช่นกัน การใช้แบบจำลองนี้เราสามารถสร้างภาพสีเต็มรูปแบบดังที่เราเห็นด้านล่าง:

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

แปลงระหว่าง YCbCr และ RGB

บางคนจะคัดค้าน: เป็นไปได้อย่างไรที่จะได้สีทั้งหมดถ้าไม่ใช้สีเขียว?

เพื่อตอบคำถามนี้ เราจะแปลง RGB เป็น YCbCr ลองใช้ค่าสัมประสิทธิ์ที่ใช้ในมาตรฐานกัน BT.601ซึ่งได้รับการแนะนำโดยหน่วยงาน ไอทูอาร์. แผนกนี้กำหนดมาตรฐานสำหรับวิดีโอดิจิทัล ตัวอย่างเช่น: 4K คืออะไร? อัตราเฟรม, ความละเอียด, รุ่นสีควรเป็นเท่าใด?

ก่อนอื่นมาคำนวณความสว่างกันก่อน ลองใช้ค่าคงที่ที่เสนอโดย ITU และแทนที่ค่า RGB

Y = 0.299R + 0.587G + 0.114B

หลังจากที่เรามีความสว่างแล้วเราจะแยกสีฟ้าและสีแดงออก:

Cb = 0.564(B - Y)

Cr = 0.713(R - Y)

และเรายังแปลงกลับและเป็นสีเขียวได้โดยใช้ YCbCr:

R = Y + 1.402Cr

B = Y + 1.772Cb

G = Y - ฮิตCb - ฮิตCr

โดยทั่วไปแล้ว จอแสดงผล (จอภาพ ทีวี หน้าจอ ฯลฯ) จะใช้เฉพาะรุ่น RGB เท่านั้น แต่โมเดลนี้สามารถจัดระเบียบได้หลายวิธี:

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

การสุ่มตัวอย่างสี

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

อนุญาตให้ลดความละเอียดสีได้เท่าไหร่! ปรากฎว่ามีไดอะแกรมบางส่วนที่อธิบายวิธีจัดการกับความละเอียดและการผสาน (สีผลลัพธ์ = Y + Cb + Cr)

แผนการเหล่านี้เรียกว่า ระบบดาวน์สุ่มตัวอย่าง และแสดงเป็นอัตราส่วน 3 เท่า - a:x:yซึ่งกำหนดจำนวนตัวอย่างสัญญาณความสว่างและความแตกต่างของสี

a — มาตรฐานการสุ่มตัวอย่างแนวนอน (ปกติจะเท่ากับ 4)
x — จำนวนตัวอย่างโครมาในแถวแรกของพิกเซล (ความละเอียดแนวนอนสัมพันธ์กับ a)
y — จำนวนการเปลี่ยนแปลงในตัวอย่างโครมาระหว่างพิกเซลแถวแรกและแถวที่สอง

ข้อยกเว้นคือ 4:1:0โดยให้ตัวอย่างโครมาหนึ่งตัวอย่างในแต่ละบล็อกความละเอียดความสว่าง 4 x 4

รูปแบบทั่วไปที่ใช้ในตัวแปลงสัญญาณสมัยใหม่:

  • 4:4:4 (ไม่มีการสุ่มตัวอย่าง)
  • 4:2:2
  • 4:1:1
  • 4:2:0
  • 4:1:0
  • 3:1:1

YCbCr 4:2:0 - ตัวอย่างการผสม

นี่คือภาพที่ผสานโดยใช้ YCbCr 4:2:0 โปรดทราบว่าเราใช้จ่ายเพียง 12 บิตต่อพิกเซล

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

จำได้ไหมเมื่อเรานับพื้นที่เก็บข้อมูล 278 GB เพื่อจัดเก็บไฟล์วิดีโอความยาวหนึ่งชั่วโมงที่ความละเอียด 720p และ 30 เฟรมต่อวินาที หากเราใช้ YCbCr 4:2:0 ขนาดนี้จะลดลงครึ่งหนึ่ง - 139 GB จนถึงตอนนี้ก็ยังห่างไกลจากผลลัพธ์ที่ยอมรับได้

คุณสามารถรับฮิสโตแกรม YCbCr ได้ด้วยตัวเองโดยใช้ FFmpeg ในภาพนี้ สีน้ำเงินมีอิทธิพลเหนือสีแดง ซึ่งมองเห็นได้ชัดเจนในฮิสโตแกรมเอง

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

สี ความสว่าง ขอบเขตสี - รีวิววิดีโอ

เราขอแนะนำให้ดูวิดีโอที่ยอดเยี่ยมนี้ โดยจะอธิบายว่าความสว่างคืออะไร และโดยทั่วไปแล้วจุดทั้งหมดจะเป็นจุดๆ ё เกี่ยวกับความสว่างและสี

ประเภทเฟรม

เดินหน้าต่อไป เรามาลองกำจัดความซ้ำซ้อนของเวลากัน แต่ก่อนอื่น เรามานิยามคำศัพท์พื้นฐานกันก่อน สมมติว่าเรามีภาพยนตร์ที่มี 30 เฟรมต่อวินาที นี่คือ 4 เฟรมแรก:

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

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

ไอเฟรม (Intro เฟรม)

I-frame (หน้าต่างอ้างอิง, คีย์เฟรม, เฟรมด้านใน) มีอยู่ในตัวเอง ไม่ว่าคุณจะต้องการแสดงภาพอะไร I-frame ก็คือภาพถ่ายนิ่ง เฟรมแรกมักจะเป็น I-frame แต่เราจะสังเกต I-frame เป็นประจำแม้ว่าจะไม่ใช่เฟรมแรกก็ตาม

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

พีเฟรม (Pแก้ไขกรอบ)

P-frame (เฟรมคาดการณ์) ใช้ประโยชน์จากความจริงที่ว่าสามารถแสดงภาพปัจจุบันได้เกือบทุกครั้งโดยใช้เฟรมก่อนหน้า ตัวอย่างเช่น ในเฟรมที่สอง การเปลี่ยนแปลงเพียงอย่างเดียวคือลูกบอลเคลื่อนที่ไปข้างหน้า เราสามารถรับเฟรม 2 ได้โดยการปรับเปลี่ยนเฟรม 1 เล็กน้อย โดยใช้เฉพาะความแตกต่างระหว่างเฟรมเหล่านี้ ในการสร้างเฟรมที่ 2 เราจะอ้างอิงถึงเฟรมก่อนหน้าที่ 1

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐานตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

เฟรมบี (Bi-predictive Frame)

แล้วลิงค์ที่ไม่เพียงแต่เชื่อมโยงไปยังอดีตเท่านั้น แต่ยังรวมถึงเฟรมในอนาคตด้วยเพื่อให้มีการบีบอัดที่ดียิ่งขึ้น! โดยพื้นฐานแล้วมันคือเฟรม B (เฟรมสองทิศทาง)

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐานตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐานตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

การถอนกลาง

ประเภทเฟรมเหล่านี้ใช้เพื่อให้เกิดการบีบอัดที่ดีที่สุด เราจะดูว่าสิ่งนี้จะเกิดขึ้นได้อย่างไรในส่วนถัดไป ในตอนนี้ โปรดทราบว่าหน่วยความจำที่ใช้ "แพง" ที่สุดคือ I-frame ส่วน P-frame นั้นถูกกว่าอย่างเห็นได้ชัด แต่ตัวเลือกที่ทำกำไรได้มากที่สุดสำหรับวิดีโอคือ B-frame

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

ความซ้ำซ้อนชั่วคราว (การทำนายระหว่างเฟรม)

มาดูกันว่าเราต้องมีตัวเลือกอะไรบ้างเพื่อลดการทำซ้ำเมื่อเวลาผ่านไป เราสามารถแก้ไขความซ้ำซ้อนประเภทนี้ได้โดยใช้วิธีการทำนายข้าม

เราจะพยายามใช้บิตให้น้อยที่สุดเพื่อเข้ารหัสลำดับของเฟรม 0 และ 1

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

เราผลิตได้ การลบเราเพียงแค่ลบเฟรม 1 ออกจากเฟรม 0 เราได้เฟรม 1 ใช้เฉพาะผลต่างระหว่างมันกับเฟรมก่อนหน้าเท่านั้น อันที่จริงเราเข้ารหัสเฉพาะเศษผลลัพธ์เท่านั้น

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

แต่จะเป็นอย่างไรถ้าฉันบอกคุณว่ามีวิธีการที่ดียิ่งขึ้นซึ่งใช้บิตน้อยลงด้วยซ้ำ! ก่อนอื่น เรามาแบ่งเฟรม 0 ออกเป็นตารางที่ชัดเจนซึ่งประกอบด้วยบล็อกต่างๆ จากนั้นเราจะพยายามจับคู่บล็อกจากเฟรม 0 กับเฟรม 1 หรืออีกนัยหนึ่ง เราจะประมาณการเคลื่อนไหวระหว่างเฟรม

จากวิกิพีเดีย - การชดเชยการเคลื่อนที่ของบล็อก

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

ในระหว่างกระบวนการประเมินผลเราจะเห็นว่าลูกบอลเคลื่อนที่จาก (x= 0, y=25) ถึง (x= 6, y=26) ค่า x и y กำหนดเวกเตอร์การเคลื่อนที่ อีกขั้นตอนหนึ่งที่เราสามารถทำได้เพื่อรักษาบิตไว้คือการเข้ารหัสเฉพาะความแตกต่างของเวกเตอร์การเคลื่อนไหวระหว่างตำแหน่งบล็อกสุดท้ายและตำแหน่งที่คาดการณ์ไว้ ดังนั้นเวกเตอร์การเคลื่อนที่สุดท้ายจะเป็น (x=6-0=6, y=26-25=1 ).

ในสถานการณ์จริงลูกนี้จะแบ่งออกเป็น n บล็อก แต่สิ่งนี้ไม่ได้เปลี่ยนสาระสำคัญของเรื่อง

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

แต่เราเห็นว่าเมื่อเราใช้การประมาณค่าการเคลื่อนไหว มีข้อมูลสำหรับการเข้ารหัสน้อยกว่าอย่างเห็นได้ชัดเมื่อใช้วิธีการคำนวณเดลต้าระหว่างเฟรมที่ง่ายกว่า

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

การชดเชยการเคลื่อนไหวจริงจะเป็นอย่างไร

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

คุณสามารถสัมผัสถึงแนวคิดเหล่านี้ได้ด้วยตัวเองโดยใช้ ดาวพฤหัสบดี.

หากต้องการดูเวกเตอร์การเคลื่อนไหว คุณสามารถสร้างวิดีโอทำนายภายนอกได้โดยใช้ ffmpeg.

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

คุณยังสามารถใช้ เครื่องวิเคราะห์ Intel Video Pro (ชำระเงินแล้ว แต่มีการทดลองใช้ฟรีที่จำกัดเพียงสิบเฟรมแรกเท่านั้น)

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

ความซ้ำซ้อนเชิงพื้นที่ (การคาดการณ์ภายใน)

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

ลองมาดูตัวอย่างนี้กัน ฉากนี้ประกอบด้วยสีฟ้าและสีขาวเป็นหลัก

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

เราถือว่าสีกระจายในแนวตั้งในเฟรม ซึ่งหมายความว่าสีของพิกเซลที่ไม่รู้จักจะมีค่าของเพื่อนบ้าน

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

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

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

หากคุณต้องการฝึกฝนการทำนายภายใน คุณสามารถสร้างวิดีโอเกี่ยวกับ Macroblock และการทำนายโดยใช้ ffmpeg เพื่อให้เข้าใจความหมายของแต่ละสีบล็อก คุณจะต้องอ่านเอกสาร ffmpeg

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

หรือคุณสามารถใช้ Intel Video Pro Analyzer ได้ (ดังที่ได้กล่าวไว้ข้างต้น เวอร์ชันทดลองใช้ฟรีจำกัดอยู่ที่ 10 เฟรมแรก แต่จะเพียงพอสำหรับคุณในตอนแรก)

ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร ส่วนที่ 1: พื้นฐาน

ส่วนที่สอง: ตัวแปลงสัญญาณวิดีโอทำงานอย่างไร

ที่มา: will.com

เพิ่มความคิดเห็น