กลับไปหน้าบทความ

อ่าน 20 นาที

การบีบอัดข้อมูล

ในทฤษฎี สารสนเทศ การ บีบอัดข้อมูล การ เข้ารหัสแหล่งที่มา [ 1 ] หรือ การลดอัตราบิต คือกระบวนการเข้ารหัส ข้อมูล โดยใช้ บิต น้อยกว่าการแสดงผลดั้งเดิม [ 2 ] การบีบอัดใดๆ...

การบีบอัดข้อมูล

ในทฤษฎีสารสนเทศการบีบอัดข้อมูลการเข้ารหัสแหล่งที่มา[ 1 ]หรือการลดอัตราบิตคือกระบวนการเข้ารหัสข้อมูล โดยใช้ บิตน้อยกว่าการแสดงผลดั้งเดิม[ 2 ]การบีบอัดใดๆ ก็ตามอาจเป็นการ บีบอัด แบบสูญเสียข้อมูลหรือแบบไม่สูญเสียข้อมูล การบีบอัดแบบไม่สูญเสียข้อมูลจะลดจำนวนบิตโดยการระบุและกำจัดความซ้ำซ้อนทางสถิติไม่มีข้อมูลใดสูญหายในการบีบอัดแบบไม่สูญเสียข้อมูล การบีบอัดแบบสูญเสียข้อมูลจะลดจำนวนบิตโดยการลบข้อมูลที่ไม่จำเป็นหรือมีความสำคัญน้อยกว่า[ 3 ]โดยทั่วไป อุปกรณ์ที่ทำการบีบอัดข้อมูลเรียกว่าตัวเข้ารหัส และอุปกรณ์ที่ทำการย้อนกลับกระบวนการ (การคลายการบีบอัด) เรียกว่าตัวถอดรหัส

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

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

ไม่มีการสูญเสียข้อมูล

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

วิธีการบีบอัด Lempel –Ziv (LZ) เป็นหนึ่งในอัลกอริทึมที่ได้รับความนิยมมากที่สุดสำหรับการจัดเก็บแบบไม่สูญเสียข้อมูล[ 6 ] DEFLATEเป็นรูปแบบหนึ่งของ LZ ที่ได้รับการปรับให้เหมาะสมสำหรับความเร็วในการคลายการบีบอัดและอัตราส่วนการบีบอัด[ 7 ]แต่การบีบอัดอาจช้า ในช่วงกลางทศวรรษ 1980 หลังจากงานของTerry Welchอั ลกอริทึม Lempel–Ziv–Welch (LZW) ได้กลายเป็นวิธีการที่ได้รับเลือกอย่างรวดเร็วสำหรับระบบการบีบอัดทั่วไปส่วนใหญ่ LZW ถูกใช้ใน ภาพ GIFโปรแกรมต่างๆ เช่นPKZIPและอุปกรณ์ฮาร์ดแวร์ เช่น โมเด็ม[ 8 ]วิธีการ LZ ใช้โมเดลการบีบอัดแบบตาราง โดยที่รายการในตารางจะถูกแทนที่ด้วยสตริงข้อมูลที่ซ้ำกัน สำหรับวิธีการ LZ ส่วนใหญ่ ตารางนี้จะถูกสร้างขึ้นแบบไดนามิกจากข้อมูลก่อนหน้าในอินพุต ตัวตารางเองมักจะเข้ารหัสแบบ Huffman รหัสที่ใช้ไวยากรณ์แบบนี้สามารถบีบอัดข้อมูลที่มีการซ้ำซ้อนสูงได้อย่างมีประสิทธิภาพมาก ตัวอย่างเช่นชุดข้อมูล ทางชีววิทยา ของสายพันธุ์เดียวกันหรือสายพันธุ์ที่ใกล้เคียงกัน ชุดเอกสารขนาดใหญ่ที่มีการกำหนดเวอร์ชัน การเก็บรักษาข้อมูลทางอินเทอร์เน็ต เป็นต้น งานพื้นฐานของรหัสที่ใช้ไวยากรณ์คือการสร้างไวยากรณ์ที่ไม่ขึ้นกับบริบทเพื่อสร้างสตริงเดียว อัลกอริทึมการบีบอัดไวยากรณ์ที่ใช้งานได้จริงอื่นๆ ได้แก่SequiturและRe- Pair

ตัวบีบอัดข้อมูลแบบไม่สูญเสียคุณภาพที่ทรงประสิทธิภาพที่สุดในปัจจุบันใช้ แบบจำลอง ความน่าจะเป็นเช่นการทำนายโดยการจับคู่บางส่วน การแปลง Burrows –Wheelerก็สามารถมองได้ว่าเป็นรูปแบบทางอ้อมของการสร้างแบบจำลองทางสถิติเช่นกัน ในการปรับปรุงเพิ่มเติมของการใช้แบบจำลองความน่า จะเป็นโดยตรง การประมาณค่าทางสถิติสามารถเชื่อมโยงกับอัลกอริทึมที่เรียกว่าการเข้ารหัสเลขคณิตการเข้ารหัสเลขคณิตเป็นเทคนิคการเข้ารหัสที่ทันสมัยกว่าซึ่งใช้การคำนวณทางคณิตศาสตร์ของเครื่องสถานะจำกัดเพื่อสร้างสตริงของบิตที่เข้ารหัสจากชุดของสัญลักษณ์ข้อมูลอินพุต สามารถบรรลุการบีบอัดที่เหนือกว่าเมื่อเทียบกับเทคนิคอื่นๆ เช่น อัลกอริทึม Huffman ที่เป็นที่รู้จักกันดีกว่า มันใช้สถานะหน่วยความจำภายในเพื่อหลีกเลี่ยงความจำเป็นในการทำการแมปแบบหนึ่งต่อหนึ่งของสัญลักษณ์อินพุตแต่ละตัวไปยังการแสดงที่แตกต่างกันซึ่งใช้จำนวนบิตจำนวนเต็ม และจะล้างหน่วยความจำภายในหลังจากเข้ารหัสสตริงของสัญลักษณ์ข้อมูลทั้งหมดแล้วเท่านั้น การเข้ารหัสเลขคณิตเหมาะอย่างยิ่งสำหรับงานบีบอัดข้อมูลแบบปรับตัวได้ ซึ่งสถิติจะแตกต่างกันไปและขึ้นอยู่กับบริบท เนื่องจากสามารถเชื่อมโยงกับแบบจำลองแบบปรับตัวได้ของการกระจายความน่าจะเป็นของข้อมูลอินพุตได้อย่างง่ายดาย ตัวอย่างแรกๆ ของการใช้การเข้ารหัสเลขคณิตคือคุณสมบัติเสริม (แต่ไม่ได้ใช้กันอย่างแพร่หลาย) ของมาตรฐานการเข้ารหัสภาพJPEG [ 9 ]ตั้งแต่นั้นมาก็ได้ถูกนำไปใช้ในการออกแบบอื่นๆ อีกมากมาย รวมถึงH.263 , H.264/MPEG-4 AVCและHEVCสำหรับการเข้ารหัสวิดีโอ[ 10 ]

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

การสูญเสียข้อมูล

ภาพประกอบแสดงการบีบอัดภาพแบบ JPG และ PNG ด้านซ้ายของภาพมาจากภาพ JPEG ซึ่งแสดงให้เห็นร่องรอยความเสียหาย ด้านขวามาจากภาพ PNG

ในช่วงปลายทศวรรษ 1980 ภาพดิจิทัลเริ่มแพร่หลายมากขึ้น และมาตรฐานสำหรับการบีบอัดภาพแบบ ไม่สูญเสีย ข้อมูลก็เกิดขึ้น ในช่วงต้นทศวรรษ 1990 วิธีการบีบอัดแบบสูญเสียข้อมูลเริ่มถูกนำมาใช้กันอย่างแพร่หลาย[ 13 ]ในวิธีการเหล่านี้ การสูญเสียข้อมูลบางส่วนเป็นที่ยอมรับได้ เนื่องจากการตัดรายละเอียดที่ไม่จำเป็นออกไปจะช่วยประหยัดพื้นที่จัดเก็บได้ มีการแลกเปลี่ยนระหว่างการรักษาข้อมูลและการลดขนาด การบีบอัดข้อมูลแบบสูญเสียข้อมูลได้รับการออกแบบโดยอิงจากการวิจัยเกี่ยวกับวิธีที่ผู้คนรับรู้ข้อมูลนั้นๆ ตัวอย่างเช่น ดวงตาของมนุษย์มีความไวต่อความแปรผันเล็กน้อยของความสว่างมากกว่าความแปรผันของสี การบีบอัดภาพ JPEGทำงานบางส่วนโดยการปัดเศษบิตข้อมูลที่ไม่จำเป็นออก[ 14 ] รูปแบบการบีบอัดที่เป็นที่นิยมหลายรูปแบบใช้ประโยชน์จากความแตกต่างในการรับรู้เหล่านี้ รวมถึงจิตวิทยาการได้ยินสำหรับเสียง และจิตวิทยาการมองเห็นสำหรับภาพและวิดีโอ

รูปแบบการบีบอัดแบบสูญเสียข้อมูลส่วนใหญ่ขึ้นอยู่กับการเข้ารหัสแบบแปลงโดยเฉพาะอย่างยิ่งการแปลงโคไซน์แบบไม่ต่อเนื่อง (DCT) ซึ่งได้รับการเสนอครั้งแรกในปี 1972 โดยNasir Ahmedซึ่งต่อมาได้พัฒนาอัลกอริทึมที่ใช้งานได้ร่วมกับ T. Natarajan และKR Raoในปี 1973 ก่อนที่จะนำเสนอในเดือนมกราคม 1974 [ 15 ] [ 16 ] DCT เป็นวิธีการบีบอัดแบบสูญเสียข้อมูลที่ใช้กันอย่างแพร่หลายที่สุด และใช้ในรูปแบบมัลติมีเดียสำหรับรูปภาพ (เช่น JPEG และHEIF ) [ 17 ]วิดีโอ (เช่นMPEG , AVCและ HEVC) และเสียง (เช่นMP3 , AACและVorbis )

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

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

การบีบอัดแบบสูญเสียข้อมูลอาจทำให้เกิดการสูญเสียคุณภาพข้อมูลได้

ทฤษฎี

พื้นฐานทางทฤษฎีสำหรับการบีบอัดนั้นมาจากทฤษฎีสารสนเทศและโดยเฉพาะอย่างยิ่งทฤษฎีการเข้ารหัสแหล่งที่มาของแชนนอนทฤษฎีเฉพาะโดเมน ได้แก่ทฤษฎีสารสนเทศเชิงอัลก อริทึม สำหรับการบีบอัดแบบไม่สูญเสีย และทฤษฎีอัตรา-ความผิดเพี้ยนสำหรับการบีบอัดแบบสูญเสีย สาขาวิชาเหล่านี้ถูกสร้างขึ้นโดยพื้นฐานโดยClaude Shannonซึ่งตีพิมพ์เอกสารพื้นฐานเกี่ยวกับหัวข้อนี้ในช่วงปลายทศวรรษ 1940 และต้นทศวรรษ 1950 หัวข้ออื่นๆ ที่เกี่ยวข้องกับการบีบอัด ได้แก่ทฤษฎีการเข้ารหัสและการอนุมานทางสถิติ[ 18 ]

การเรียนรู้ของเครื่อง

มีความเชื่อมโยงอย่างใกล้ชิดระหว่างการเรียนรู้ของเครื่องและการบีบอัด ระบบที่ทำนายความน่าจะเป็นภายหลังของลำดับโดยพิจารณาจากประวัติทั้งหมดสามารถใช้สำหรับการบีบอัดข้อมูลที่เหมาะสมที่สุด (โดยใช้การเข้ารหัสเลขคณิตบนการกระจายเอาต์พุต) ในทางกลับกัน ตัวบีบอัดที่เหมาะสมที่สุดสามารถใช้สำหรับการทำนาย (โดยการหาสัญลักษณ์ที่บีบอัดได้ดีที่สุด โดยพิจารณาจากประวัติก่อนหน้า) ความเท่าเทียมกันนี้ถูกใช้เป็นเหตุผลในการใช้การบีบอัดข้อมูลเป็นเกณฑ์มาตรฐานสำหรับ "ปัญญาประดิษฐ์ทั่วไป" [ 19 ] [ 20 ] [ 21 ]

มุมมองทางเลือกสามารถแสดงให้เห็นว่าอัลกอริธึมการบีบอัดจะแมปสตริงโดยปริยายไปยังเวกเตอร์พื้นที่คุณลักษณะโดยปริยาย และการวัดความคล้ายคลึงตามการบีบอัดจะคำนวณความคล้ายคลึงภายในพื้นที่คุณลักษณะเหล่านี้ สำหรับตัวบีบอัด C(.) แต่ละตัว เรากำหนดพื้นที่เวกเตอร์ที่เกี่ยวข้อง ℵ โดยที่ C(.) จะแมปสตริงอินพุต x ซึ่งสอดคล้องกับนอร์มเวกเตอร์ ||~x|| การตรวจสอบพื้นที่คุณลักษณะที่อยู่เบื้องหลังอัลกอริธึมการบีบอัดทั้งหมดอย่างละเอียดนั้นเป็นไปไม่ได้เนื่องจากข้อจำกัดด้านพื้นที่ ดังนั้นเวกเตอร์คุณลักษณะจึงเลือกที่จะตรวจสอบวิธีการบีบอัดแบบไม่สูญเสียข้อมูลสามวิธีที่เป็นตัวแทน ได้แก่ LZW, LZ77 และ PPM [ 22 ]

ตาม ทฤษฎี AIXIซึ่งมีการอธิบายความเชื่อมโยงโดยตรงมากขึ้นในรางวัล Hutter Prizeการบีบอัด x ที่ดีที่สุดคือซอฟต์แวร์ที่สร้าง x นั้นมีขนาดเล็กที่สุดเท่าที่จะเป็นไปได้ ตัวอย่างเช่น ในแบบจำลองนั้น ขนาดที่บีบอัดของไฟล์ zip จะรวมทั้งไฟล์ zip และซอฟต์แวร์คลายไฟล์ เนื่องจากคุณไม่สามารถคลายไฟล์ได้หากไม่มีทั้งสองอย่าง แต่ก็อาจมีรูปแบบรวมกันที่เล็กกว่านั้นได้อีก

ตัวอย่างของซอฟต์แวร์บีบอัดเสียง/วิดีโอที่ขับเคลื่อนด้วย AI ได้แก่NVIDIA Maxineและ AIVC [ 23 ]ตัวอย่างของซอฟต์แวร์ที่สามารถทำการบีบอัดภาพด้วย AI ได้แก่OpenCV , TensorFlow , Image Processing Toolbox (IPT) ของMATLAB และ High-Fidelity Generative Image Compression [ 24 ]

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

การบีบอัดข้อมูลมีเป้าหมายเพื่อลดขนาดไฟล์ข้อมูล เพิ่มประสิทธิภาพการจัดเก็บ และเร่งความเร็วในการส่งข้อมูล การจัดกลุ่มแบบ K-means ซึ่งเป็นอัลกอริธึมการเรียนรู้ของเครื่องแบบไม่มีการควบคุม ถูกนำมาใช้เพื่อแบ่งชุดข้อมูลออกเป็นจำนวนคลัสเตอร์ที่กำหนด k โดยแต่ละคลัสเตอร์แสดงด้วยจุดศูนย์กลางของจุดต่างๆ กระบวนการนี้จะย่อชุดข้อมูลขนาดใหญ่ให้เป็นชุดจุดที่เป็นตัวแทนที่กระชับยิ่งขึ้น การจัดกลุ่มแบบ K-means มีประโยชน์อย่างยิ่งใน การประมวล ผลภาพและสัญญาณช่วยลดข้อมูลโดยการแทนที่กลุ่มจุดข้อมูลด้วยจุดศูนย์กลาง ทำให้รักษาข้อมูลหลักของข้อมูลเดิมไว้ได้ ในขณะเดียวกันก็ลดพื้นที่จัดเก็บที่ต้องการลงอย่างมาก[ 26 ]

โมเดลภาษาขนาดใหญ่ (LLM) ยังเป็นเครื่องมือบีบอัดข้อมูลแบบไม่สูญเสียที่มีประสิทธิภาพสำหรับชุดข้อมูลบางชุด ดังที่แสดงให้เห็นจาก การวิจัยของ DeepMindด้วยโมเดล Chinchilla 70B ซึ่งพัฒนาโดย DeepMind โมเดล Chinchilla 70B สามารถบีบอัดข้อมูลได้อย่างมีประสิทธิภาพ เหนือกว่าวิธีการทั่วไป เช่นPortable Network Graphics (PNG) สำหรับรูปภาพ และFree Lossless Audio Codec (FLAC) สำหรับเสียง โดยสามารถบีบอัดข้อมูลรูปภาพและเสียงได้เหลือเพียง 43.4% และ 16.4% ของขนาดดั้งเดิม ตามลำดับ อย่างไรก็ตาม มีเหตุผลบางประการที่ต้องกังวลว่าชุดข้อมูลที่ใช้ในการทดสอบอาจทับซ้อนกับชุดข้อมูลการฝึกอบรม LLM ทำให้เป็นไปได้ว่าโมเดล Chinchilla 70B เป็นเครื่องมือบีบอัดที่มีประสิทธิภาพเฉพาะกับข้อมูลที่ได้รับการฝึกอบรมมาแล้วเท่านั้น[ 27 ] [ 28 ]

การหาผลต่างของข้อมูล

การเปรียบเทียบไฟล์สองเวอร์ชัน

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

คำว่าการบีบอัดแบบดิฟเฟอเรนเชียล (Differential Compression)ใช้เพื่อเน้นความเชื่อมโยงระหว่างข้อมูลที่แตกต่างกัน

การใช้งาน

ภาพ

การเข้ารหัสเอนโทรปีมีต้นกำเนิดในช่วงทศวรรษ 1940 ด้วยการนำการเข้ารหัส Shannon–Fano มาใช้ [ 31 ] ซึ่งเป็นพื้นฐานสำหรับการเข้ารหัส Huffmanที่พัฒนาขึ้นในปี 1950 [ 32 ]การเข้ารหัสแบบทรานส์ ฟอร์ม มีมาตั้งแต่ช่วงปลายทศวรรษ 1960 ด้วยการนำ การเข้ารหัส แบบ Fast Fourier Transform (FFT) มาใช้ในปี 1968 และการแปลง Hadamardในปี 1969 [ 33 ]

เทคนิคการบีบอัดภาพที่สำคัญอย่างหนึ่งคือการแปลงโคไซน์แบบไม่ต่อเนื่อง (DCT) ซึ่งเป็นเทคนิคที่พัฒนาขึ้นในช่วงต้นทศวรรษ 1970 [ 15 ] DCT เป็นพื้นฐานของ JPEG ซึ่งเป็น รูปแบบ การบีบอัดแบบสูญเสียข้อมูลที่ได้รับการแนะนำโดยJoint Photographic Experts Group (JPEG) ในปี 1992 [ 34 ] JPEG ช่วยลดปริมาณข้อมูลที่จำเป็นในการแสดงภาพได้อย่างมาก โดยแลกกับการลดคุณภาพของภาพเพียงเล็กน้อย และได้กลายเป็นรูปแบบไฟล์ภาพที่ ใช้กันอย่างแพร่หลายที่สุด [ 35 ] [ 36 ]อัลกอริทึมการบีบอัดแบบ DCT ที่มีประสิทธิภาพสูงนี้มีส่วนสำคัญอย่างมากต่อการแพร่หลายของภาพดิจิทัลและภาพถ่ายดิจิทัล[ 37 ]

Lempel–Ziv–Welch (LZW) เป็น อัลกอริธึมการ บีบอัดแบบไม่สูญเสียข้อมูลที่พัฒนาขึ้นในปี 1984 และใช้ในรูปแบบGIF ซึ่งเปิดตัวในปี 1987 [ 38 ] DEFLATEเป็นอัลกอริธึมการบีบอัดแบบไม่สูญเสียข้อมูลที่กำหนดไว้ในปี 1996 และใช้ใน รูปแบบ Portable Network Graphics (PNG) [ 39 ]

การบีบอัดเวฟเล็ตซึ่งเป็นการใช้เวฟเล็ตในการบีบอัดภาพ เริ่มขึ้นหลังจากการพัฒนาการเข้ารหัส DCT [ 40 ]มาตรฐานJPEG 2000ได้รับการแนะนำในปี 2000 [ 41 ]แตกต่างจากอัลกอริธึม DCT ที่ใช้โดยรูปแบบ JPEG ดั้งเดิม JPEG 2000 ใช้ อัลกอริธึม การแปลงเวฟเล็ตแบบไม่ต่อเนื่อง (DWT) แทน [ 42 ] [ 43 ] [ 44 ]เทคโนโลยี JPEG 2000 ซึ่งรวมถึง ส่วนขยาย Motion JPEG 2000ได้รับเลือกให้เป็นมาตรฐานการเข้ารหัสวิดีโอสำหรับภาพยนตร์ดิจิทัลในปี 2004 [ 45 ]

เสียง

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

อัลกอริทึมการบีบอัดเสียงแบบสูญเสียข้อมูลให้การบีบอัดที่สูงกว่าและใช้ในแอปพลิเคชันเสียงจำนวนมาก รวมถึงVorbisและMP3อัลกอริทึมเหล่านี้เกือบทั้งหมดอาศัยจิตวิทยาการได้ยินเพื่อกำจัดหรือลดความเที่ยงตรงของเสียงที่ได้ยินน้อยลง ซึ่งจะช่วยลดพื้นที่ที่จำเป็นในการจัดเก็บหรือส่งเสียงเหล่านั้น[ 2 ] [ 46 ]

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

การบีบอัดเสียงแบบไม่สูญเสียจะสร้างการแสดงข้อมูลดิจิทัลที่สามารถถอดรหัสเป็นสำเนาดิจิทัลที่เหมือนกับต้นฉบับทุกประการ อัตราการบีบอัดอยู่ที่ประมาณ 50–60% ของขนาดต้นฉบับ[ 48 ]ซึ่งคล้ายกับอัตราการบีบอัดข้อมูลแบบไม่สูญเสียทั่วไป ตัวแปลงสัญญาณแบบไม่สูญเสียใช้การปรับเส้นโค้งหรือการทำนายเชิงเส้นเป็นพื้นฐานในการประมาณสัญญาณ พารามิเตอร์ที่อธิบายการประมาณและความแตกต่างระหว่างการประมาณกับสัญญาณจริงจะถูกเข้ารหัสแยกกัน[ 49 ]

มีรูปแบบการบีบอัดเสียงแบบไม่สูญเสียคุณภาพอยู่หลายรูปแบบ ดูรายการโคเดกแบบไม่สูญเสียคุณภาพเพื่อดูรายชื่อทั้งหมด บางรูปแบบเกี่ยวข้องกับระบบเฉพาะ เช่นDirect Stream Transferที่ใช้ในSuper Audio CDและMeridian Lossless Packingที่ใช้ในDVD-Audio , Dolby TrueHD , Blu-rayและHD DVD

ไฟล์เสียงบางรูป แบบ มีการผสมผสานระหว่างรูปแบบที่สูญเสียคุณภาพและการแก้ไขที่ไม่สูญเสียคุณภาพ ทำให้สามารถลบการแก้ไขออกเพื่อให้ได้ไฟล์ที่สูญเสียคุณภาพได้ง่าย รูปแบบดังกล่าวได้แก่MPEG-4 SLS (Scalable to Lossless), WavPackและOptimFROG DualStream

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

การบีบอัดเสียงแบบสูญเสียข้อมูล

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

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

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

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

มีการพัฒนาอัลกอริทึมการบีบอัดข้อมูลแบบสูญเสียหลายแบบที่เป็นกรรมสิทธิ์ ซึ่งให้คุณภาพเสียงที่ดีขึ้นโดยใช้การผสมผสานระหว่างอัลกอริทึมแบบไม่สูญเสียและแบบสูญเสีย ร่วมกับอัตราบิตแบบปรับได้และอัตราส่วนการบีบอัดที่ต่ำกว่า ตัวอย่างเช่น aptX , LDAC , LHDC , MQAและSCL6

วิธีการเข้ารหัส

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

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

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

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

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

การเข้ารหัสเสียงพูด

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

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

  • เข้ารหัสเฉพาะเสียงที่เกิดจากเสียงพูดของมนุษย์คนเดียวเท่านั้น
  • คือการทิ้งข้อมูลส่วนใหญ่ในสัญญาณไป โดยเก็บไว้เพียงพอที่จะสร้างเสียงที่ "เข้าใจได้" แทนที่จะเก็บช่วงความถี่ทั้งหมดที่มนุษย์ได้ยิน

อัลกอริทึมแรกสุดที่ใช้ในการเข้ารหัสเสียงพูด (และการบีบอัดข้อมูลเสียงโดยทั่วไป) คืออัลกอริทึม A-lawและ อั ลก อริทึม μ-law

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

Solidyne 922: การ์ดเสียงแบบบีบอัดบิตเสียงเชิงพาณิชย์ตัวแรกของโลกสำหรับพีซี ปี 1990

การวิจัยด้านเสียงในยุคแรกดำเนินการที่Bell Labsที่นั่น ในปี 1950 C. Chapin Cutlerได้ยื่นจดสิทธิบัตรเกี่ยวกับการปรับรหัสพัลส์แบบดิฟเฟอเรนเชียล (DPCM) [ 52 ]ในปี 1973 Adaptive DPCM (ADPCM) ได้รับการแนะนำโดย P. Cummiskey, Nikil S. JayantและJames L. Flanagan [ 53 ] [ 54 ]

การเข้ารหัสการรับรู้ถูกนำมาใช้ครั้งแรกสำหรับ การบีบอัด การเข้ารหัสเสียงพูดโดยใช้การเข้ารหัสทำนายเชิงเส้น (LPC) [ 55 ]แนวคิดเริ่มต้นของ LPC ย้อนกลับไปถึงผลงานของFumitada Itakura ( มหาวิทยาลัยนาโกย่า ) และ Shuzo Saito ( บริษัท Nippon Telegraph and Telephone ) ในปี 1966 [ 56 ]ในช่วงทศวรรษ 1970 Bishnu S. AtalและManfred R. Schroederที่Bell Labsได้พัฒนา LPC รูปแบบหนึ่งที่เรียกว่าการเข้ารหัสทำนายแบบปรับตัว (APC) ซึ่งเป็นอัลกอริทึมการเข้ารหัสการรับรู้ที่ใช้ประโยชน์จากคุณสมบัติการบดบังของหูมนุษย์ ตามมาด้วย อัลกอริทึม การทำนายเชิงเส้นแบบกระตุ้นรหัส (CELP) ในช่วงต้นทศวรรษ 1980 ซึ่งบรรลุ อัตราส่วนการบีบอัดที่ สำคัญสำหรับยุคนั้น[ 55 ]การเข้ารหัสการรับรู้ถูกใช้โดยรูปแบบการบีบอัดเสียงสมัยใหม่ เช่นMP3 [ 55 ]และAAC

การแปลงโคไซน์แบบไม่ต่อเนื่อง (DCT) ซึ่งพัฒนาโดยNasir Ahmed , T. Natarajan และKR Raoในปี 1974 [ 16 ]เป็นพื้นฐานสำหรับการแปลงโคไซน์แบบไม่ต่อเนื่องที่ดัดแปลง (MDCT) ที่ใช้โดยรูปแบบการบีบอัดเสียงสมัยใหม่ เช่น MP3 [ 57 ] Dolby Digital [ 58 ] [ 59 ]และ AAC [ 60 ] MDCT ได้รับการเสนอโดย JP Princen, AW Johnson และ AB Bradley ในปี 1987 [ 61 ] ตามผลงานก่อนหน้านี้ของ Princen และ Bradley ใน ปี 1986 [ 62 ]

ระบบบีบอัดเสียง อัตโนมัติสำหรับการออกอากาศเชิงพาณิชย์ระบบแรกของโลกได้รับการพัฒนาโดย Oscar Bonello ศาสตราจารย์ด้านวิศวกรรมศาสตร์ที่มหาวิทยาลัยบัวโนสไอเรส [ 63 ] ระบบอัตโนมัติสำหรับการออกอากาศนี้เปิด ตัวในปี 1987 ภายใต้ชื่อAudicom [ 64 ] [ 65 ]

เอกสารรวบรวมวรรณกรรมเกี่ยวกับระบบการเข้ารหัสเสียงที่หลากหลายได้รับการตีพิมพ์ในวารสาร IEEE Journal on Selected Areas in Communications ( JSAC ) ในเดือนกุมภาพันธ์ พ.ศ. 2531 แม้ว่าจะมีเอกสารบางส่วนจากก่อนหน้านั้น แต่เอกสารชุดนี้ได้บันทึกตัวเข้ารหัสเสียงที่เสร็จสมบูรณ์และใช้งานได้หลากหลาย ซึ่งเกือบทั้งหมดใช้เทคนิคการรับรู้และการวิเคราะห์ความถี่บางประเภทและการเข้ารหัสแบบไร้เสียงรบกวนที่ส่วนหลัง[ 66 ]

วิดีโอ

วิดีโอที่ไม่ได้บีบอัด ต้องใช้ อัตราข้อมูลที่สูงมากแม้ว่า ตัวแปลงสัญญาณ การบีบอัดวิดีโอแบบไม่สูญเสียข้อมูลจะทำงานที่ปัจจัยการบีบอัด 5 ถึง 12 แต่โดยทั่วไปแล้ว วิดีโอที่บีบอัดแบบสูญเสียข้อมูล H.264จะมีปัจจัยการบีบอัดระหว่าง 20 ถึง 200 [ 67 ]

เทคนิคการบีบอัดวิดีโอหลักสองอย่างที่ใช้ในมาตรฐานการเข้ารหัสวิดีโอคือ DCT และการชดเชยการเคลื่อนไหว (MC) มาตรฐานการเข้ารหัสวิดีโอส่วนใหญ่ เช่น รูปแบบ H.26xและMPEGมักใช้การเข้ารหัสวิดีโอ DCT ที่ชดเชยการเคลื่อนไหว (การชดเชยการเคลื่อนไหวแบบบล็อก) [ 68 ] [ 69 ]

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

ทฤษฎีการเข้ารหัส

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

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

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

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

วิธีการอื่นๆ นอกเหนือจากรูปแบบการแปลงที่ใช้ DCT ทั่วไป เช่นการบีบอัดแบบแฟรกทัลการจับคู่การติดตามและการใช้การแปลงเวฟเล็ตแบบไม่ต่อเนื่อง (DWT) ได้รับการวิจัยบ้าง แต่โดยทั่วไปแล้วไม่ได้นำมาใช้ในผลิตภัณฑ์จริงการบีบอัดเวฟเล็ตใช้ในตัวเข้ารหัสภาพนิ่งและตัวเข้ารหัสวิดีโอที่ไม่มีการชดเชยการเคลื่อนไหว ความสนใจในการบีบอัดแบบแฟรกทัลดูเหมือนจะลดลง เนื่องจากการวิเคราะห์ทางทฤษฎีล่าสุดแสดงให้เห็นถึงประสิทธิภาพที่ค่อนข้างต่ำของวิธีการดังกล่าว[ 51 ]

การเข้ารหัสระหว่างเฟรม

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

รูปแบบการแปลงแบบบล็อกไฮบริด

ขั้นตอนการประมวลผลของตัวเข้ารหัสวิดีโอทั่วไป

วิธีการบีบอัดวิดีโอที่ใช้กันทั่วไปหลายวิธี (เช่น วิธีที่อยู่ในมาตรฐานที่ได้รับการอนุมัติจากITU-TหรือISO ) มีโครงสร้างพื้นฐานเดียวกัน ซึ่งมีที่มาจากH.261ที่ได้รับการกำหนดมาตรฐานโดย ITU-T ในปี 1988 โดยส่วนใหญ่จะอาศัย DCT ที่ใช้กับบล็อกสี่เหลี่ยมของพิกเซลที่อยู่ติดกัน และการทำนายเชิงเวลาโดยใช้เวกเตอร์การเคลื่อนไหวรวมถึงในปัจจุบันยังมีการเพิ่มขั้นตอนการกรองแบบวนซ้ำเข้าไปด้วย

ในขั้นตอนการทำนาย จะมีการใช้เทคนิค การลบ ข้อมูลซ้ำซ้อน และการเข้ารหัสความแตกต่างต่างๆ ซึ่งช่วยลดความสัมพันธ์ระหว่างข้อมูลและอธิบายข้อมูลใหม่โดยอิงจากข้อมูลที่ส่งมาแล้ว

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

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

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

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

ในปี พ.ศ. 2510 AH Robinson และ C. Cherry ได้เสนอ แผนการบีบอัดแบนด์วิดท์ การเข้ารหัสความยาวรันสำหรับการส่งสัญญาณโทรทัศน์อนาล็อก[ 71 ] DCT ซึ่งเป็นพื้นฐานของการบีบอัดวิดีโอสมัยใหม่[ 72 ]ได้รับการแนะนำโดยNasir Ahmed , T. Natarajan และKR Raoในปี พ.ศ. 2517 [ 16 ] [ 73 ]

H.261ซึ่งเปิดตัวในปี 1988 ได้นำเสนอสถาปัตยกรรมพื้นฐานของเทคโนโลยีการบีบอัดวิดีโอที่แพร่หลายในเชิงพาณิชย์[ 74 ]เป็นรูปแบบการเข้ารหัสวิดีโอรูป แบบแรก ที่ใช้การบีบอัด DCT [ 72 ] H.261ได้รับการพัฒนาโดยบริษัทหลายแห่ง รวมถึงHitachi , PictureTel , NTT , BTและToshiba [ 75 ]

มาตรฐานการเข้ารหัสวิดีโอที่ได้รับความนิยมมากที่สุดที่ใช้สำหรับโคเดกคือมาตรฐานMPEG MPEG-1ได้รับการพัฒนาโดยMotion Picture Experts Group (MPEG) ในปี 1991 และได้รับการออกแบบมาเพื่อบีบอัดวิดีโอคุณภาพVHS ต่อมาในปี 1994 ได้มีการพัฒนา MPEG-2 / H.262ขึ้น มา [ 74 ]ซึ่งได้รับการพัฒนาโดยบริษัทหลายแห่ง โดยหลักๆ คือSony , ThomsonและMitsubishi Electric [ 76 ] MPEG -2 กลายเป็นรูปแบบวิดีโอมาตรฐานสำหรับDVD และโทรทัศน์ดิจิทัล SD [ 74 ]ในปี 1999 ได้มีการพัฒนาMPEG-4 / H.263 ขึ้นมา [ 74 ] ซึ่งได้รับการพัฒนาโดยบริษัทหลายแห่ง โดยหลักๆ คือ Mitsubishi Electric , HitachiและPanasonic [ 77 ]

H.264/MPEG-4 AVCได้รับการพัฒนาในปี 2546 โดยองค์กรหลายแห่ง โดยหลักๆ คือ Panasonic, Godo Kaisha IP BridgeและLG Electronics [ 78 ] AVCได้นำเสนออัลกอริธึมการเข้ารหัสเลขคณิตไบนารีแบบปรับตามบริบท (CABAC) และ อัลกอริธึม การเข้ารหัสความยาวแปรผันแบบปรับตามบริบท (CAVLC) ที่ทันสมัยในเชิงพาณิชย์ AVC เป็นมาตรฐานการเข้ารหัสวิดีโอหลักสำหรับแผ่น Blu-rayและมีการใช้งานอย่างแพร่หลายโดยเว็บไซต์แบ่งปันวิดีโอและบริการสตรีมมิ่งทางอินเทอร์เน็ต เช่นYouTube , Netflix , VimeoและiTunes Storeซอฟต์แวร์บนเว็บ เช่นAdobe Flash PlayerและMicrosoft Silverlightและ การออกอากาศ HDTV ต่างๆ ผ่านทางโทรทัศน์ภาคพื้นดินและดาวเทียม[ 79 ]

พันธุศาสตร์

อัลกอริทึมการบีบอัดข้อมูลแบบพันธุกรรมเป็นอัลกอริทึมรุ่นล่าสุดที่ไม่สูญเสียข้อมูล ซึ่งบีบอัดข้อมูล (โดยทั่วไปคือลำดับของนิวคลีโอไทด์) โดยใช้ทั้งอัลกอริทึมการบีบอัดแบบดั้งเดิมและอัลกอริทึมทางพันธุกรรมที่ปรับให้เข้ากับชนิดข้อมูลเฉพาะ ในปี 2012 ทีมวิทยาศาสตร์จากมหาวิทยาลัยจอห์นส์ ฮอปกินส์ ได้ตีพิมพ์อัลกอริทึมการบีบอัดข้อมูลแบบพันธุกรรมที่ไม่ใช้จีโนมอ้างอิงสำหรับการบีบอัด HAPZIPPER ถูกปรับแต่งสำหรับ ข้อมูล HapMapและสามารถบีบอัดได้มากกว่า 20 เท่า (ลดขนาดไฟล์ได้ 95%) ให้การบีบอัดที่ดีกว่า 2-4 เท่า และใช้ทรัพยากรการคำนวณน้อยกว่ายูทิลิตี้การบีบอัดทั่วไปชั้นนำ เพื่อการนี้ Chanda, Elhaik และ Bader ได้แนะนำการเข้ารหัสแบบ MAF (MAFE) ซึ่งช่วยลดความแตกต่างของชุดข้อมูลโดยการจัดเรียง SNP ตามความถี่ของอัลลีลรอง ทำให้ชุดข้อมูลมีความเป็นเนื้อเดียวกันมากขึ้น[ 80 ]อัลกอริทึมอื่นๆ ที่พัฒนาขึ้นในปี 2009 และ 2013 (DNAZip และ GenomeZip) มีอัตราส่วนการบีบอัดสูงถึง 1200 เท่า ทำให้สามารถจัดเก็บจีโนมมนุษย์แบบดิพลอยด์ 6 พันล้านเบสแพร์ได้ใน 2.5 เมกะไบต์ (เมื่อเทียบกับจีโนมอ้างอิงหรือเฉลี่ยจากจีโนมหลายๆ จีโนม) [ 81 ] [ 82 ]สำหรับเกณฑ์มาตรฐานในการบีบอัดข้อมูลทางพันธุศาสตร์/จีโนมิกส์ โปรดดูที่[ 83 ]

Outlook และศักยภาพที่ยังไม่ได้ใช้งานในปัจจุบัน

มีการประมาณการว่าปริมาณข้อมูลทั้งหมดที่จัดเก็บไว้บนอุปกรณ์จัดเก็บข้อมูลทั่วโลกสามารถบีบอัดเพิ่มเติมได้ด้วยอัลกอริธึมการบีบอัดที่มีอยู่ โดยเหลือปัจจัยเฉลี่ย 4.5:1 [ 84 ]มีการประมาณการว่าความสามารถทางเทคโนโลยีโดยรวมของโลกในการจัดเก็บข้อมูลนั้นให้ตัวเลขฮาร์ดแวร์ 1,300 เอ็กซาไบต์ในปี 2550 แต่เมื่อเนื้อหาที่เกี่ยวข้องถูกบีบอัดอย่างเหมาะสมแล้ว จะเหลือเพียงข้อมูลแชนนอน 295 เอ็กซาไบต์เท่านั้น [ 85 ]

อัลกอริทึมการบีบอัดข้อมูล

ไม่มีการสูญเสียข้อมูล

การสูญเสียข้อมูล

ดูเพิ่มเติม

  • "ตอนที่ 3: การบีบอัดวิดีโอ" , พื้นฐานการบีบอัดข้อมูล
  • Larbier, Pierre, การใช้การเข้ารหัส AVC/H.264 10 บิตด้วย 4:2:2 สำหรับการออกอากาศ , Ateme, เก็บถาวรจากต้นฉบับเมื่อ 2009-09-05
  • เหตุใดการใช้ 10 บิตจึงช่วยประหยัดแบนด์วิดท์ (แม้ว่าเนื้อหาจะเป็น 8 บิตก็ตาม)? ( ดูข้อมูลเพิ่มเติมได้ ที่Wayback Machine (เก็บถาวรเมื่อ 30 สิงหาคม 2017))
  • ควรใช้เทคโนโลยีการบีบอัดข้อมูลแบบใด?จากWayback Machine (เก็บถาวรเมื่อ 30 สิงหาคม 2017)
  • บทนำสู่ทฤษฎีการบีบอัดข้อมูล (PDF)สำนักพิมพ์ Wileyเก็บถาวร(PDF)จากต้นฉบับเมื่อวันที่ 28 กันยายน 2550
  • การทดสอบการฟังเชิงอัตนัยของ EBU เกี่ยวกับตัวแปลงสัญญาณเสียงบิตเรตต่ำ
  • คู่มือการจัดเก็บไฟล์เสียง: รูปแบบไฟล์เพลง (คู่มือช่วยผู้ใช้เลือกตัวแปลงสัญญาณที่เหมาะสม)
  • เอกสารแนะนำเกี่ยวกับการบีบอัดวิดีโอ MPEG 1 และ 2 (รูปแบบไฟล์ PDF)จากWayback Machine (เก็บถาวรเมื่อวันที่ 28 กันยายน 2550)
  • การเปรียบเทียบวิกิของ Hydrogenaudio
  • บทนำเกี่ยวกับการบีบอัดข้อมูลโดย Guy E Blelloch จากCMU
  • คำอธิบายเกี่ยวกับวิธีการบีบอัดสัญญาณแบบไม่สูญเสียข้อมูล ซึ่งใช้โดยตัวแปลงสัญญาณส่วนใหญ่
  • Videsignline – บทนำเกี่ยวกับการบีบอัดวิดีโอที่Wayback Machine (เก็บถาวรเมื่อ 15 มีนาคม 2010)
  • เทคโนโลยีลดรอยเท้าข้อมูลในWayback Machine (เก็บถาวรเมื่อ 27 พฤษภาคม 2013)
  • การเข้ารหัสแบบ Run Length Coding (RLC) ในการบีบอัดวิดีโอคืออะไร
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Data_compression&oldid=1359440207 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การบีบอัดข้อมูล

ในทฤษฎี สารสนเทศ การ บีบอัดข้อมูล การ เข้ารหัสแหล่งที่มา [ 1 ] หรือ การลดอัตราบิต คือกระบวนการเข้ารหัส ข้อมูล โดยใช้ บิต น้อยกว่าการแสดงผลดั้งเดิม [ 2 ] การบีบอัดใดๆ...

ไม่มีการสูญเสียข้อมูล

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

การสูญเสียข้อมูล

ในช่วงปลายทศวรรษ 1980 ภาพดิจิทัลเริ่มแพร่หลายมากขึ้น และมาตรฐานสำหรับ การบีบอัดภาพแบบ ไม่สูญเสีย ข้อมูลก็เกิดขึ้น ในช่วงต้นทศวรรษ 1990 วิธีการบีบอัดแบบสูญเสียข้อมูลเริ่มถูกนำมาใช้กันอย่างแพร่หลาย [ 13 ] ในวิธีการเหล่านี้...

ทฤษฎี

พื้นฐานทางทฤษฎีสำหรับการบีบอัดนั้นมาจาก ทฤษฎีสารสนเทศ และโดยเฉพาะอย่างยิ่ง ทฤษฎีการเข้ารหัสแหล่งที่มาของแชนนอน ทฤษฎีเฉพาะโดเมน ได้แก่ ทฤษฎีสารสนเทศเชิงอัลก อริทึม สำหรับการบีบอัดแบบไม่สูญเสีย และ ทฤษฎีอัตรา-ความผิดเพี้ยน สำหรับการบีบอัดแบบสูญเสีย...