Dropbox เพิ่งเปิดตัวLepton ( GitHub ) ซึ่งเป็นวิธีการบีบอัดภาพ JPEG แบบไปกลับโดยไม่สูญเสียความประหยัดโดยเฉลี่ย 22%
เนื่องจากหลักการของpigeonholeอัลกอริธึมการบีบอัดทั่วไปใด ๆจึงไม่สามารถรับประกันว่าจะส่งผลให้ไฟล์มีขนาดเล็กลง ( ทั่วไปเนื่องจากไม่ได้ใช้กับอินพุตที่ จำกัด รูปแบบเฉพาะ) Lepton หาประโยชน์จากลักษณะทั่วไปเกี่ยวกับ JPEG ซึ่งหากล้มล้างอาจทำให้ช่องว่างในการสร้างไฟล์มีขนาดใหญ่กว่าแหล่งที่มา
ความต้องการ
เขียนโปรแกรมที่สร้าง:
- รูปภาพ JPEG / JFIF ที่ถูกต้อง
- ขนาดระหว่าง 0.5 MB ถึง 1 MB
- ไม่เล็กกว่า 256 × 256 พิกเซล
- ไม่ใหญ่กว่า 4096 × 4096 พิกเซล
- เลปตันเป็นที่รู้จัก (สามารถ "บีบอัด"
.lep
ภาพ) และ - คลายการบีบอัดให้เหมือนกัน
.jpg
(เป็นอินพุต) APPx
,COM
และข้อมูลเมตาอื่น ๆ ส่วนของตัวทำเครื่องหมายที่ไม่ใช่ภาพกราฟิกถูก จำกัด ใน JPEG (การฉีดจำนวนสุ่มของจำนวนไบต์แบบสุ่มลงในรูปภาพเพื่อให้วิธีการบีบอัดแบบ 1: 1 เป็นแบบไม่มีสัญญาณ)APP0
เครื่องหมาย JFIFจะได้รับอนุญาต แต่ไม่มีรูปขนาดย่อได้รับอนุญาต (ควรจะตรง 16 bytes)- tl; drหากคุณไม่ได้ตั้งใจที่จะผลักเมทาดาทาลงในกลุ่ม EXIF และคุณปิดการใช้งานรูปขนาดย่อของไลบรารีภาษาที่คุณต้องการจะใส่ลงไปในภาพ
โพสต์รหัสและรูปภาพ
หากคุณต้องการเขียนโปรแกรมที่สร้างภาพLeptonซึ่งเมื่อแปลงแล้วให้ผล JPEG ที่ตรงกับเกณฑ์ก็ถือว่าใช้ได้ มันจะต้องยังคงเหมือนกันในหลาย ๆ JPEG → Lepton → JPEG → ... รอบ
เกณฑ์การให้คะแนน
ขนาดไบต์ของภาพ Lepton หารด้วยรูปภาพ JPEG ต้นฉบับ สูงกว่า (การบีบอัด Lepton ที่แย่กว่า) จะดีกว่า เรียกใช้ Lepton ด้วยการตั้งค่าสถานะและสวิตช์เริ่มต้น
รับ Lepton
5-second crash-course เพื่อสร้าง Lepton:
git clone https://github.com/dropbox/lepton.git
cd lepton
./autogen.sh && ./configure && make
# fish shell: ./autogen.sh ;and ./configure ;and make
จากนั้น./lepton --help
ควรบอกอะไรคุณ