ड्रॉपबॉक्स हाल ही में जारी लेपटोन ( GitHub ), एक विधि है कि losslessly JPEG चित्रों राउंड ट्रिप संपीड़ित करता है, 22% की एक औसत बचत।
की वजह से डब्बों में सिद्धांत , किसी भी सामान्य संपीड़न एल्गोरिथ्म नहीं किया जा सकता गारंटी एक छोटी फ़ाइल में परिणाम की ( सामान्य है क्योंकि यह एक विशिष्ट प्रारूप करने के लिए विवश आदानों पर लागू नहीं होता)। लेप्टान जेपीईजी के बारे में सामान्य विशेषताओं का फायदा उठाता है, जो यदि उपसमुच्चय है, तो स्रोत से बड़ी फ़ाइल बनाने के लिए इसे कबूतर कर सकता है।
आवश्यकताएँ
एक प्रोग्राम लिखें जो उत्पन्न करता है:
- एक मान्य JPEG / JFIF छवि,
- 0.5 एमबी और 1 एमबी के बीच के आकार के साथ,
- 256 × 256 px से छोटा नहीं,
- 4096 × 4096 px से बड़ा नहीं,
- लिप्टन द्वारा पहचानने योग्य (यह एक
.lep
छवि को सफलतापूर्वक "संपीड़ित" कर सकता है ), और - एक करने के लिए decompresses समान
.jpg
(इनपुट के रूप में)। APPx
,COM
और अन्य मेटाडेटा, गैर-ग्राफ़िकल मार्कर अनुभाग जेपीईजी में प्रतिबंधित हैं (asymptotically दृष्टिकोण 1: 1 संपीड़न लंगड़ा है।- एक
APP0
JFIF मार्कर की अनुमति है लेकिन कोई थंबनेल की अनुमति नहीं है (बिल्कुल 16 बाइट्स होना चाहिए) - tl; dr अगर आप जानबूझकर मेटाडेटा को EXIF सेगमेंट में नहीं खोल रहे हैं और आप किसी भी प्रकार के थंबनेल को अक्षम कर देते हैं, तो आपकी पसंद का भाषा पुस्तकालय छवि में डालना चाहता है, जो ठीक होना चाहिए।
- एक
कोड और छवि पोस्ट करें।
यदि आप एक प्रोग्राम लिखना चाहते हैं जो एक लेप्टन छवि का उत्पादन करता है जो परिवर्तित होने पर एक जेपीईजी पैदावार को पूरा करता है, तो यह ठीक है। यह मनमाने ढंग से कई JPEG → लेप्टन → JPEG → ... चक्रों में समान रहना चाहिए।
स्कोरिंग
स्रोत जेपीईजी छवि द्वारा विभाजित लिप्टन छवि का बाइट आकार। उच्चतर (बदतर लेप्टान संपीड़न) बेहतर है। डिफ़ॉल्ट झंडे और स्विच के साथ लेप्टान को चलाएं।
लेप्टान हो रही है
लेप्टान बनाने के लिए 5 सेकंड का क्रैश कोर्स:
git clone https://github.com/dropbox/lepton.git
cd lepton
./autogen.sh && ./configure && make
# fish shell: ./autogen.sh ;and ./configure ;and make
फिर ./lepton --help
आपको बातें बतानी चाहिए।