กำลังบีบอัดภาพขนาดใหญ่ที่คล้ายกันจำนวนมาก?


17

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

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

ในการทำแบบทดสอบฉันได้ลด 96 ภาพในหนึ่งวันเป็น 1080x1080 พิกเซลรวม 40.1MB และลองใช้การบีบอัดที่แตกต่างกันกับผลลัพธ์ที่ได้:

  1. รหัสไปรษณีย์: 39.8 MB
  2. rar: 39.8 MB
  3. 7z: 39.6 MB
  4. tar.bz2: 39.7 MB
  5. zpaq v7.14: 38.3 MB
  6. fp8 v2: 32.5 MB
  7. paq8pxd v45: 30.9 MB

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

อย่างไรก็ตามไม่มีอัลกอริธึมที่ใช้โดยยูทิลิตีการบีบอัดเหล่านั้นดูเหมือนจะใช้ประโยชน์จากความคล้ายคลึงกันของภาพเมื่อทำการบีบอัดวิดีโอ อันที่จริงแล้วการใช้packJPGที่บีบอัดภาพแต่ละภาพแยกกันทั้งชุดจะลดลงเหลือ 32.9 MB ซึ่งใกล้เคียงกับ fp8 และ paq8pxd แต่ไม่ได้รับประโยชน์ใด ๆ จากความคล้ายคลึงกันของภาพ

ในการทดลองอื่นฉันคำนวณใน Matlab ความแตกต่างของภาพสองภาพด้านบนและดูเหมือนว่า:

ป้อนคำอธิบายรูปภาพที่นี่

บีบอัดภาพต้นฉบับทั้งสอง (219.5 + 217.0 = รวม 436.5 kB) ด้วย fp8 ทำให้พวกเขาลงไปที่ 350.0 kB (80%) แต่บีบอัดหนึ่งในพวกเขาและภาพที่แตกต่าง (เป็น jpg ที่มีคุณภาพเดียวกันและใช้ 122.5 kB) ผล ในไฟล์ 270.8 kB (62%) ดังนั้นอีกครั้ง (ตามที่เปิดเผยโดยการเปรียบเทียบ mp4 และ packJPG) fp8 ดูเหมือนจะไม่ใช้ประโยชน์จากความคล้ายคลึงกันมากนัก แม้บีบอัดด้วย rar ภาพหนึ่งภาพและความแตกต่างก็ดีกว่า fp8 ในภาพต้นฉบับ ในกรณีนี้ rar ลดลงเหลือ 333.6 kB (76%)

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

นอกจากนี้ฉันไม่ต้องการการบีบอัดข้อมูลอย่างน้อยก็ไม่ใช่ข้อมูลภาพ (ต้องมีการรักษาข้อมูลเมตาไว้)

ดังนั้น ... มีวิธีการบีบอัดที่ใช้ประโยชน์จากความคล้ายคลึงกันระหว่างรูปภาพที่ถูกบีบอัดหรือไม่?

สองภาพของการทดสอบดังกล่าวข้างต้นสามารถดาวน์โหลดได้ที่นี่และ 96 ภาพของการทดสอบครั้งแรกที่นี่


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

1
แกลเลอรี่ถั่วลิสง (ผมไม่ได้ลงคะแนนเพื่อปิด) แต่Is there a compression utility that take advantage of the similarities between images better than zpaq and fp8?และIs there a updated/maintained version of the fp8 utility?มีแนวโน้มที่สายการกระทำผิดกฎหมาย ความเปรียบต่างที่มีเช่นIs there a compression *method, algorithm or technique* that take advantage of the similarities between images better than zpaq and fp8?จุดโฟกัสนั้นแตกต่างกันมาก การขอซอฟต์แวร์อาจซ้ำซ้อนเนื่องจากซอฟต์แวร์เฉพาะ (ถ้ามี) จะถูกกล่าวถึงในคำตอบใด ๆ
Anaksunaman

1
ฉันเห็นด้วย. และเสร็จแล้ว โชคดี. =)
Anaksunaman

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

1
หากต้องการเพิ่มในรายการแอปพลิเคชันฉันจะต้องใช้สิ่งนี้เพื่อเก็บเฟรมดั้งเดิมของโครงการล่วงเลยเวลาที่จะได้รับส่วนเพิ่มเติมในอนาคต รูปภาพ JPG ขนาด 10,000 x 4K ในปัจจุบันใช้พื้นที่ 25 GB ซึ่งไฟล์ MP4 ประกอบด้วยขนาดเพียง 85 MB
Akseli Palén

คำตอบ:


6

ฉันไม่รู้ซอฟต์แวร์เฉพาะที่ทำสิ่งนี้ แต่มีงานวิจัยบางอย่างเกี่ยวกับเรื่องนี้ ตัวอย่างเช่นดูบทความการบีบอัดชุดของภาพที่คล้ายกันโดย Samy Ait-Aoudia, Abdelhalim Gabis, Amina Naimi และการบีบอัดชุดของภาพที่คล้ายกันโดยใช้แบบจำลองการบีบอัดแบบผสมโดย Jiann-Der Lee, Shu-Yen Wan, Chemg-Min Ma, Rui - เฟิงวู

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

convert image2.png image1.png -compose MinusSrc -composite -depth 24 -define png:compression-filter=2 -define png:compression-level=9 -define png:compression-strategy=1 difference-2-1.png

หากต้องการคำนวณใหม่โดยเพิ่มกลับ:

convert image1.png difference-2-1.png -compose Plus -composite image2-reconstructed.png

(คุณสามารถทำได้โดยใช้ jpg แทนและประหยัดพื้นที่ได้มาก)


ดูเหมือนว่าสิ่งนี้จะไม่จัดการกับโอเวอร์โฟลว์ ฉันมีภาพที่คล้ายกันซึ่งมีสีแตกต่างกันมากและด้วยเหตุนี้ฉันจึงมีสิ่งประดิษฐ์บางอย่างในภาพที่คำนวณใหม่โดยใช้ Minus / Plus หรือ Subtract / Add
Adrien Clerc
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.