ภาพเคลื่อนไหว JPEG


รูปแบบการบีบอัดวิดีโอ

Motion JPEG ( M-JPEGหรือ MJPEG )เป็นรูปแบบการบีบอัดวิดีโอโดยที่แต่ละเฟรมวิดีโอหรือ ฟิลด์ อินเทอร์เลซของ ลำดับ วิดีโอแบบดิจิทัลจะถูกบีบอัดแยกกันเป็นภาพJPEG

Motion JPEG ได้รับการพัฒนาขึ้นในตอนแรกสำหรับแอปพลิเคชั่นพีซีมัลติมีเดีย โดยรองรับไคลเอนต์ได้อย่างกว้างขวาง โดยเว็บเบราว์เซอร์และเครื่องเล่นหลักๆ ส่วนใหญ่รองรับการทำงานแบบเนทีฟ และปลั๊กอินต่างๆ ก็รองรับส่วนที่เหลือด้วย ซอฟต์แวร์และอุปกรณ์ที่ใช้มาตรฐาน M-JPEG ได้แก่ เครื่องเล่นสื่อ คอนโซลเกม กล้องดิจิทัล กล้อง IP เว็บแคม เซิร์ฟเวอร์สตรีมมิ่ง กล้องวิดีโอ และโปรแกรมตัดต่อวิดีโอแบบไม่เชิงเส้น[ จำเป็นต้องอ้างอิง ]

ประวัติศาสตร์

Motion JPEG เดิมได้รับการพัฒนาสำหรับแอปพลิเคชั่นพีซีมัลติมีเดีย[ จำเป็นต้องอ้างอิง ]

การนำ MJPEG ไปใช้งานในช่วงแรกๆ มักจะนำไปใช้ในฮาร์ดแวร์C-Cubeเป็นผู้สนับสนุนในช่วงแรกๆ โดยใช้โคเดก JPEG CL550 ของพวกเขาในการใช้งานฮาร์ดแวร์หลายๆ แบบ มีการประกาศ[1]ว่าNeXTdimensionจากNeXTจะมาพร้อมกับ CL550 ออนบอร์ดเพื่อนำ MJPEG ไปใช้งาน อย่างไรก็ตาม ในภายหลังได้มีการระงับการใช้งานและไม่รวมอยู่ในผลิตภัณฑ์ขั้นสุดท้ายที่จัดส่ง[2]

Apple ได้นำ MJPEG มาใช้งานซอฟต์แวร์ในQuickTime Playerในช่วงกลางทศวรรษ 1990 [3]

ออกแบบ

M-JPEG เป็นรูปแบบการบีบอัดแบบ intraframe เท่านั้น (เมื่อเปรียบเทียบกับเทคนิคการคำนวณแบบinterframe prediction ที่ต้องใช้การคำนวณมากกว่า ) ในขณะที่รูปแบบวิดีโอแบบ interframe ที่ทันสมัย ​​เช่นMPEG1 , MPEG2และH.264/MPEG-4 AVCสามารถบรรลุอัตราส่วนการบีบอัดในโลกแห่งความเป็นจริงที่ 1:50 หรือดีกว่านั้น การที่ M-JPEG ไม่มีการคาดการณ์แบบ interframe ทำให้ประสิทธิภาพจำกัดอยู่ที่ 1:20 หรือต่ำกว่า ขึ้นอยู่กับความทนทานต่อสิ่งแปลกปลอมในเชิงพื้นที่ในเอาต์พุตที่บีบอัด เนื่องจากเฟรมถูกบีบอัดแยกจากกัน M-JPEG จึงกำหนดข้อกำหนดการประมวลผลและหน่วยความจำที่ต่ำกว่าสำหรับอุปกรณ์ฮาร์ดแวร์

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

สำหรับ รูปแบบ QuickTimeนั้น Apple ได้กำหนดประเภทของการเข้ารหัสไว้ 2 ประเภท ได้แก่ MJPEG-A และ MJPEG-B โดย MJPEG-B จะไม่เก็บไฟล์ JPEG Interchange ที่ถูกต้องไว้ภายในอีกต่อไป ดังนั้น จึงไม่สามารถใส่เฟรมลงในไฟล์ JPEG ได้ โดยไม่ต้องแก้ไขส่วนหัวเล็กน้อย

JPEG ไม่มีประสิทธิภาพ เนื่องจากใช้บิตมากขึ้นเพื่อให้ได้คุณภาพที่ใกล้เคียงกัน เมื่อเทียบกับรูปแบบที่ทันสมัยกว่า (เช่นJPEG 2000และH.264/MPEG-4 AVC ) นับตั้งแต่มีการพัฒนา JPEG มาตรฐานดั้งเดิมในช่วงต้นทศวรรษ 1990 เทคโนโลยีก็ได้รับการปรับปรุงไม่เพียงแค่กับรูปแบบ JPEG เท่านั้น แต่ยังรวมถึง รูปแบบการบีบอัด ระหว่างเฟรมด้วย

คุณสมบัติ

Motion JPEG นั้นง่ายต่อการนำไปใช้งานเนื่องจากใช้มาตรฐานการบีบอัดที่สมบูรณ์แบบ (JPEG) พร้อมไลบรารีที่พัฒนาอย่างดี และเป็นวิธีการบีบอัดแบบอินทราเฟรม[ จำเป็นต้องอ้างอิง ]

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

จำเป็นต้องใช้ฮาร์ดแวร์ให้น้อยที่สุด เนื่องจากไม่ต้องใช้การคำนวณที่ซับซ้อน[ จำเป็นต้องมีการอ้างอิง ]

การสร้างมาตรฐาน

รูปแบบวิดีโอที่กำหนดไว้ในมาตรฐานสากลเช่นMPEG-2และรูปแบบที่กำหนดไว้ในมาตรฐานการเข้ารหัสภาพนิ่ง JPEG ไม่มีเอกสารใดที่กำหนดรูปแบบเดียวที่แน่นอนซึ่งได้รับการยอมรับโดยทั่วไปว่าเป็นข้อกำหนดที่สมบูรณ์ของ "Motion JPEG" สำหรับการใช้งานในทุกบริบท สิ่งนี้ทำให้เกิดข้อกังวลเกี่ยวกับความเข้ากันได้เกี่ยวกับเอาต์พุตไฟล์จากผู้ผลิตที่แตกต่างกัน อย่างไรก็ตาม รูปแบบไฟล์แต่ละรูปแบบโดยเฉพาะมักจะมีมาตรฐานบางอย่างเกี่ยวกับวิธีการเข้ารหัส M-JPEG ตัวอย่างเช่น Microsoft ได้จัดทำเอกสารรูปแบบมาตรฐานเพื่อจัดเก็บ M-JPEG ในไฟล์ AVI [4] Apple ได้จัดทำเอกสารเกี่ยวกับวิธีจัดเก็บ M-JPEG ในไฟล์ QuickTime RFC 2435 อธิบายว่า M-JPEG ถูกนำไปใช้งานในสตรีม RTP อย่างไร และมีการวางแผน CodecID M-JPEG สำหรับรูปแบบไฟล์Matroska [5]

แอปพลิเคชั่น

ปัจจุบัน M-JPEG ถูกใช้โดยอุปกรณ์บันทึกวิดีโอ เช่นกล้องดิจิทัลกล้อง IPและเว็บแคมรวมถึง ระบบ ตัดต่อวิดีโอแบบไม่เชิงเส้น M-JPEG ได้รับการสนับสนุนโดยQuickTime Player คอนโซล PlayStationและเว็บเบราว์เซอร์เช่นSafari , Google Chrome , Mozilla FirefoxและMicrosoft Edge

การตัดต่อวีดิโอ

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

เครื่องเล่นเกมคอนโซล

เครื่องเล่น เกม PlayStationได้รวมฮาร์ดแวร์คลายการบีบอัดแบบ M-JPEG ไว้สำหรับ ลำดับเหตุการณ์ FMV ในเกม ในขณะที่ เครื่องเล่นเกมพกพา PlayStation Portableสามารถเล่น M-JPEG จากMemory Stick Pro Duoภายใต้นามสกุล .avi ด้วยความละเอียด 480×272 ทั้งสองเครื่องสามารถบันทึกคลิปในรูปแบบ M-JPEG ด้วยกล้อง Go!Cam

คอนโซลเกม WiiของNintendoรวมถึงInnoTab ของVTech สามารถเล่นวิดีโอที่เข้ารหัส M-JPEG บน การ์ด SDโดยใช้Photo Channel เครื่องเล่นเสียงดิจิทัล SanDisk Sansa e200 และZen V สามารถ เล่นวิดีโอ M-JPEG สั้นๆ ได้ การอัปเดตเฟิร์มแวร์ล่าสุดสำหรับNintendo 3DSสามารถบันทึกและเล่นไฟล์ที่เข้ารหัส M-JPEG "3D-AVI" ซึ่งเป็นรูปแบบเดียวกับที่ใช้ในซีรีส์ Fujifilm FinePix Real 3Dจากการ์ด SD ในความละเอียด 320×240 ตราบใดที่วิดีโอมีความยาว 10 นาทีหรือน้อยกว่า

กล้องดิจิตอล

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

เพื่อรักษาขนาดไฟล์และอัตราการถ่ายโอนให้อยู่ในการควบคุม ขนาดเฟรมและอัตรา รวมถึงอัตราการสุ่มตัวอย่างเสียงจะถูกควบคุมให้อยู่ในระดับต่ำ โดยมีระดับการบีบอัดที่สูงมากสำหรับแต่ละเฟรม ขนาดทั่วไปคือ 160×120 หรือ 320×240 โดยทั่วไปจะอยู่ที่ 10, 12 หรือ 15 เฟรมต่อวินาที โดยคุณภาพของภาพจะเทียบเท่ากับการตั้งค่า JPEG ที่ "50" โดยมีการสุ่มตัวอย่างเสียงโมโน ADPCM ที่ ~8 kHz ส่งผลให้ได้เอาต์พุตวิดีโอพื้นฐานมากแต่ใช้งานได้ โดยมีต้นทุนการจัดเก็บที่ใกล้เคียงกับ MPEG (อัตราวิดีโอ ~120 kB/s, เสียง ~8 kB/s หรือประมาณ 1 Mbit/s ที่ความละเอียด 320×240) แต่มีค่าใช้จ่ายในการประมวลผลเพียงเล็กน้อย โดยทั่วไปแล้ว วิดีโอนี้จะถูกเก็บไว้ใน ไฟล์คอนเทนเนอร์ AVI ของ Microsoft หรือ QuickTime Movieของ Apple ไฟล์เหล่านี้สามารถดูได้บนระบบปฏิบัติการส่วนใหญ่ แต่บางครั้งอาจต้องติดตั้ง โคเดก เพิ่มเติม

รูปแบบวิดีโอ AMVซึ่งมักใช้ในเครื่องเล่น "MP4" ราคาถูก โดยเป็นเวอร์ชันดัดแปลงของ M-JPEG

นอกจากเครื่องเล่นพกพา (ซึ่งส่วนใหญ่เป็น "ผู้บริโภค" ของวิดีโอ) กล้องดิจิทัลที่รองรับวิดีโอหลายรุ่นยังใช้ M-JPEG สำหรับการบันทึกวิดีโอ ตัวอย่างเช่น:

  • ในเดือนสิงหาคม พ.ศ. 2551 Nikon ได้ประกาศเปิดตัวD90ซึ่งเป็นกล้อง DSLR รุ่นแรกที่สามารถบันทึกวิดีโอได้ โดยรูปแบบที่ใช้คือ M-JPEG โดย D90 ใช้รูปแบบ JPEG แบบเคลื่อนไหวสามรูปแบบ ได้แก่ 320×216 พิกเซล 640×424 พิกเซล และ 1280×720 พิกเซล
  • ในเดือนมิถุนายน 2552 Pentax ประกาศว่ากล้อง K-7ที่กำลังจะเปิดตัวจะใช้ M-JPEG ในความละเอียด 640×416, 1280×720 และ 1536×1024 อัตราข้อมูลสำหรับไฟล์ M-JPEG ที่สร้างขึ้นสามารถสูงถึง 74 Mbit/s
  • ในเดือนสิงหาคม พ.ศ. 2559 Canon ประกาศว่า กล้อง 5D Mark IVจะบันทึกวิดีโอ 4Kใน M-JPEG [6]ด้วยอัตราข้อมูลประมาณ 500 Mbit/s [7]
วิดีโอที่บันทึกด้วย Canon 5D Mark IV ในDCI 4Kโดยใช้ภาพเคลื่อนไหว jpeg

กล้องที่รองรับเครือข่ายจำนวนมากมีสตรีม M-JPEG ที่ไคลเอนต์เครือข่ายสามารถเชื่อมต่อได้ เบราว์เซอร์ที่ใช้ MozillaและWebkitมีการสนับสนุนดั้งเดิมสำหรับการดูสตรีม M-JPEG เหล่านี้

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

เครื่องเล่นสื่อ

Apple ประกาศในวันที่ 1 กันยายน 2010 ว่า Apple TV เวอร์ชันล่าสุดจะรองรับ M-JPEG สูงสุด 35 Mbit/s, 1280 x 720 พิกเซล, 30 เฟรมต่อวินาที, เสียงในรูปแบบ μlaw, เสียงสเตอริโอ PCM ในรูปแบบไฟล์ .avi

เครื่องเล่นสื่อบางรุ่น เช่น Netgear NeoTV 550 ไม่รองรับการเล่นไฟล์ M-JPEG

การสตรีมวิดีโอ

การสตรีมแบบ HTTP จะแยกภาพแต่ละภาพออกเป็นคำตอบ HTTP แต่ละรายการบนมาร์กเกอร์ที่ระบุ การสตรีม แบบ HTTP จะสร้างแพ็กเก็ตของลำดับภาพ JPEG ที่สามารถรับได้โดยไคลเอนต์ เช่นQuickTimeหรือVLC

ในการตอบสนองต่อคำขอ GETสำหรับไฟล์ MJPEG หรือสตรีม เซิร์ฟเวอร์จะสตรีมลำดับของเฟรม JPEG ผ่านHTTP ประเภทเนื้อหาชนิด MIME พิเศษmultipart/x-mixed-replace;boundary=<boundary-name>จะแจ้งให้ไคลเอนต์คาดหวังส่วนต่างๆ หลายส่วน (เฟรม) เป็นคำตอบที่คั่นด้วย <boundary-name> ชื่อขอบเขตนี้เปิดเผยอย่างชัดเจนภายในการประกาศชนิด MIME เอง การเชื่อมต่อ TCP จะไม่ถูกปิดตราบใดที่ไคลเอนต์ต้องการรับเฟรมใหม่และเซิร์ฟเวอร์ต้องการจัดเตรียมเฟรมใหม่ การใช้งานพื้นฐานสองประการของเซิร์ฟเวอร์สตรีมมิ่ง M-JPEG คือcambozolaและMJPG-Streamer ffmpeg-serverที่แข็งแกร่งกว่ายังรองรับการสตรีมมิ่ง M-JPEG อีกด้วย

การสนับสนุนเว็บเบราว์เซอร์ดั้งเดิม ได้แก่Safari , Google Chrome , Microsoft Edge [8]และFirefox [9]เบราว์เซอร์อื่น ๆ เช่นInternet Explorerสามารถแสดงสตรีม M-JPEG ด้วยความช่วยเหลือของปลั๊กอินภายนอก Cambozola เป็นแอพเพล็ตที่สามารถแสดงสตรีม M-JPEG ในเบราว์เซอร์ที่รองรับ Java M-JPEG ยังได้รับการสนับสนุนโดย PlayStation และ QuickTime โดยทั่วไป M-JPEG ใช้ในกล้องรักษาความปลอดภัยที่ใช้ IP [10]

ผู้สืบทอด

การพัฒนาทางเทคโนโลยีพบได้ในการออกแบบH.263v2 Annex IและMPEG-4 ส่วนที่ 2ซึ่งใช้การทำนายค่าสัมประสิทธิ์การแปลงในโดเมนความถี่ และในH.264/MPEG-4 AVCซึ่งใช้การทำนายเชิงพื้นที่และเทคนิคขนาดบล็อกการแปลงแบบปรับตัว นอกจากนี้ยังมีการเข้ารหัสเอนโทรปีที่ซับซ้อนกว่าที่ใช้ได้จริงเมื่อออกแบบ JPEG ครั้งแรก การพัฒนาใหม่ทั้งหมดนี้ทำให้ M-JPEG เป็นกลไกการบันทึกที่ไม่มีประสิทธิภาพ

ดูเพิ่มเติม

อ้างอิง

  1. ^ "เครื่องจักรใหม่จาก NeXT (ข่าวคอมพิวเตอร์ UM, เล่มที่ 5, มกราคม 1990)". 1990.
  2. ^ "The NeXTdimension Compendium (รวบรวมตั้งแต่มิถุนายน-สิงหาคม 1993)".
  3. ^ "คู่มือสำหรับนักพัฒนา: QuickTime สำหรับ Macintosh เวอร์ชัน 2.5" (PDF) . เก็บถาวรจากแหล่งเดิม(PDF)เมื่อวันที่ 16 กรกฎาคม 2022
  4. ^ "BMPDIB.TXT". www.fileformat.info .
  5. ^ "การแมปโคเดก"
  6. ^ "รายละเอียดข่าวประชาสัมพันธ์". www.usa.canon.com . สืบค้นเมื่อ2016-11-06 .
  7. ^ "ข้อมูลจำเพาะและคุณสมบัติ - Canon EOS 5D Mark IV - Canon UK". www.canon.co.uk . 2016-09-19 . สืบค้นเมื่อ2016-11-06 .
  8. ^ "Dev guide: Video - Microsoft Edge Development". developer.microsoft.com . สืบค้นเมื่อ2016-08-25 .
  9. ^ สตรีม M-JPEG ที่ส่งไปยัง Mozilla Firefox เวอร์ชันก่อนหน้าจะต้องถูกใส่ไว้ในเอกสาร HTTP เพื่อหลีกเลี่ยงการกะพริบ ดู Bug 625012 (แก้ไขในปี 2014)
  10. ^ Martins, Claudemir (25 เมษายน 2017). "How CCTV codecs work (CCTV codec easily explained) by Learn CCTV". Learn CCTV.com . สืบค้นเมื่อ22 ตุลาคม 2023 .
  • รูปแบบ Apple QuickTime รวมถึงข้อกำหนดสำหรับ MJPEG-A และ MJPEG-B pp96
  • รูปแบบโหลด RFC 2435 RTP สำหรับวิดีโอที่บีบอัด JPEG
Retrieved from "https://en.wikipedia.org/w/index.php?title=Motion_JPEG&oldid=1259055254"