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

อ่าน 2 นาที

เลมเปล–ซิว–โอเบอร์ฮูเมอร์

Lempel–Ziv–Oberhumer ( LZO ) เป็น อัลกอริธึม การบีบอัดข้อมูล แบบไม่สูญเสีย ข้อมูล ที่เน้นความเร็วในการคลายการบีบอัด [ 1 ]

เลมเปล–ซิว–โอเบอร์ฮูเมอร์

แอลโซ
นักพัฒนามาร์คุส เอฟเอ็กซ์เจ โอเบอร์ฮูเมอร์
ปล่อย20 พฤษภาคม 2539 ( 20 พฤษภาคม 1996 )
เวอร์ชันเสถียร
2.10 / 1 มีนาคม 2560 ( 1 มีนาคม 2017 )
ระบบปฏิบัติการข้ามแพลตฟอร์ม
พิมพ์การบีบอัดข้อมูล
ใบอนุญาตGPLv2หรือเชิงพาณิชย์
เว็บไซต์www.oberhumer.com/opensource/lzo/

Lempel–Ziv–Oberhumer ( LZO ) เป็นอัลกอริธึมการบีบอัดข้อมูลแบบไม่สูญเสีย ข้อมูล ที่เน้นความเร็วในการคลายการบีบอัด[ 1 ]

ออกแบบ

การใช้งาน "lzop" เวอร์ชันดั้งเดิม ซึ่งเผยแพร่ในปี 1996 ได้รับการพัฒนาโดย Markus Franz Xaver Johannes Oberhumer โดยอิงจากอัลกอริทึมก่อนหน้านี้ของAbraham LempelและJacob Zivไลบรารี LZO ได้นำอัลกอริทึมจำนวนหนึ่งมาใช้ โดยมีลักษณะดังต่อไปนี้:

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

LZO รองรับการบีบอัดแบบทับซ้อนและการคลายการบีบอัดแบบในตัว ในฐานะอัลกอริธึมการบีบอัดแบบบล็อก มันจะบีบอัดและคลายการบีบอัดบล็อกข้อมูล ขนาดบล็อกต้องเท่ากันสำหรับการบีบอัดและการคลายการบีบอัด LZO บีบอัดบล็อกข้อมูลเป็นการจับคู่ (พจนานุกรมแบบเลื่อน) และลำดับของตัวอักษรที่ไม่ตรงกันเพื่อให้ได้ผลลัพธ์ที่ดีกับข้อมูลที่มีความซ้ำซ้อนสูง และจัดการกับข้อมูลที่ไม่สามารถบีบอัดได้อย่างเหมาะสม โดยจะขยายข้อมูลที่ไม่สามารถบีบอัดได้สูงสุดเพียง 1/64 ของขนาดเดิมเมื่อวัดจากขนาดบล็อกอย่างน้อย 1 kB [ 2 ]

การนำไปใช้

การใช้งานอ้างอิงนี้เขียนด้วยภาษาANSI Cและเผยแพร่เป็นซอฟต์แวร์ฟรีภายใต้สัญญาอนุญาต GNU General Public Licenseลิขสิทธิ์ของ โค้ดเป็นของ Markus FXJ Oberhumer เผยแพร่ครั้งแรกในปี 1996 Oberhumer ยังได้เขียนส่วนติดต่อผู้ใช้แบบบรรทัดคำสั่งชื่อ lzopอีกด้วย

LZO มีเวอร์ชันสำหรับ ภาษา Perl , PythonและJavaและมีรายงานว่า LZO หลายเวอร์ชันสามารถทำงานได้บนระบบปฏิบัติการAIX , Atari TOS (Atari ST), ConvexOS, IRIX , Linux , Mac OS , Nintendo 64 , Palm OS , PlayStation , Solaris , SunOS , VxWorks , WiiและWin32

ไลบรารี libavutil ของ FFmpegมีการใช้งาน LZO ของตัวเอง[ 3 ]ซึ่งเป็นวิธีการที่เป็นไปได้สำหรับการบีบอัดวิดีโอแบบไม่สูญเสียข้อมูล การใช้งานตัวถอดรหัสของ FFmpeg ยังถูกใช้ในOpenConnectเพื่อรองรับ แพ็กเก็ต ESP ที่บีบอัดด้วย LZO ที่ส่งโดยเซิร์ฟเวอร์ VPN ของ Juniper NetworksและPulse Secure [ 4 ]

เคอร์เนล Linux ใช้การใช้งาน LZO ในบางส่วนของฟังก์ชันการทำงาน:

  • หน้าแฟนเพจ LZO/LZOPบนWayback Machine (เก็บถาวรเมื่อวันที่ 25 มิถุนายน 2012)
  • lzo-javaบนGitHub - การใช้งานอัลกอริธึมการบีบอัดข้อมูล LZO liblzo2 ด้วยภาษา Java ล้วนๆ
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Lempel–Ziv–Oberhumer&oldid=1355706974 "

สรุปเนื้อหา

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

ข้อมูลสำคัญเกี่ยวกับ เลมเปล–ซิว–โอเบอร์ฮูเมอร์

Lempel–Ziv–Oberhumer ( LZO ) เป็น อัลกอริธึม การบีบอัดข้อมูล แบบไม่สูญเสีย ข้อมูล ที่เน้นความเร็วในการคลายการบีบอัด [ 1 ]

ออกแบบ

การใช้งาน "lzop" เวอร์ชันดั้งเดิม ซึ่งเผยแพร่ในปี 1996 ได้รับการพัฒนาโดย Markus Franz Xaver Johannes Oberhumer โดยอิงจากอัลกอริทึมก่อนหน้านี้ของ Abraham Lempel และ Jacob Ziv ไลบรารี LZO ได้นำอัลกอริทึมจำนวนหนึ่งมาใช้ โดยมีลักษณะดังต่อไปนี้:

การนำไปใช้

การใช้งานอ้างอิงนี้เขียนด้วยภาษา ANSI C และเผยแพร่เป็น ซอฟต์แวร์ฟรี ภายใต้ สัญญาอนุญาต GNU General Public License ลิขสิทธิ์ ของ โค้ดเป็นของ Markus FXJ Oberhumer เผยแพร่ครั้งแรกในปี 1996 Oberhumer ยังได้เขียนส่วนติดต่อผู้ใช้แบบบรรทัดคำสั่งชื่อ lzop อีกด้วย

ลิงก์ภายนอก

หน้าแฟนเพจ LZO/LZOPบน Wayback Machine (เก็บถาวรเมื่อวันที่ 25 มิถุนายน 2012) lzo-javaบน GitHub - การใช้งานอัลกอริธึมการบีบอัดข้อมูล LZO liblzo2 ด้วยภาษา Java ล้วนๆ ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?