HEIC म्हणजे काय, आणि तुम्ही ते ठेवावं की JPEG?
माझा फोन .heic फाइल सेव्ह करतो आणि माझ्या लॅपटॉपवर त्या काहीच उघडत नाही. या असतात काय, आणि मला त्यांची गरज आहे का?
HEIC चा अर्थ काय
HEIC चा सर्वसाधारण अर्थ High Efficiency Image Container असा घेतला जातो. .heic हे एक्स्टेन्शन HEIF कुळातली इमेज फाइल दर्शवतं, आणि तिच्यातले पिक्सेल सहसा HEVC ने एन्कोड केलेले असतात. रोजच्या वापरात लोक iPhone च्या फोटो फाइलला HEIC म्हणतात — जरी कंटेनरचं प्रमाण HEIF असतं आणि आतला कॉम्प्रेशन कोडेक सहसा HEVC असतो.
याच फरकामुळे .heic चं .jpg केल्याने फोटो कन्व्हर्ट का होत नाही ते कळतं. फाइलचं एक्स्टेन्शन म्हणजे नुसतं लेबल; सॉफ्टवेअरला आत HEIF रचना आणि HEVC ने कॉम्प्रेस केलेला इमेज डेटाच सापडतो. खऱ्या रूपांतरात ते पिक्सेल डीकोड करून नवी JPEG, PNG किंवा WebP फाइल एन्कोड करावी लागते.
HEIC हा कंटेनर आहे, कोडेक नाही
.heic फाइल म्हणजे HEIF फाइल: High Efficiency Image File Format, जिचं प्रमाणीकरण ISO/IEC 23008-12 म्हणून झालं आहे. MP4 वापरते त्याच ISO base media file रचनेवर HEIF हा कंटेनर उभारलेला आहे. फाइलच्या आत इमेज, थंबनेल, डेप्थ मॅप, इमेजच्या मालिका आणि मेटाडेटा कसे मांडलेले असतात हे तो सांगतो — पिक्सेल कसे कोड केलेले आहेत हे तो सांगत नाही.
iPhone तयार करत असलेल्या फाइलमध्ये पिक्सेल HEVC ने कोड केलेले असतात — ज्याला H.265 असंही म्हणतात, आणि जो ITU-T H.265 म्हणून प्रमाणित झालेला व्हिडिओ कोडेक आहे. या फॉरमॅटचे फायदे आणि त्याच्या अडचणी, दोन्ही इथूनच येतात: तुम्ही प्रत्यक्षात फोटो हा आजच्या व्हिडिओ कोडेकची एकच फ्रेम म्हणून साठवत असता.
फोनने तो का निवडला
HEVC कडे इंट्रा-फ्रेम प्रेडिक्शनची साधनं आहेत, जी JPEG च्या 1992 च्या रचनेत नाहीत; त्यामुळे तेवढ्याच दिसणाऱ्या क्वालिटीसाठी त्याला सहसा कमी बिट्स लागतात. फोनमधलं स्टोरेज मर्यादित असतं आणि फोटोंचे संग्रह मात्र नाहीत, त्यामुळे ही बचत डिव्हाइस बनवणाऱ्यासाठी खऱ्या पैशाएवढी मोलाची असते. शिवाय हा कंटेनर एकाच फाइलमध्ये अनेक संबंधित इमेज ठेवू देतो — बर्स्टच्या फ्रेम, Live Photo मधला स्थिर फोटो आणि छोटी क्लिप, अल्फा किंवा डेप्थ चॅनेल — त्या फोल्डरभर विखरून टाकण्याऐवजी.
आणखी एक फायदा आहे, जो काही लोकांसाठी आकारापेक्षा जास्त महत्त्वाचा ठरतो: HEIF प्रति चॅनेल 8 पेक्षा जास्त बिट्सना आधार देतं. 10-bit इमेजमध्ये ग्रेडियंटसाठी कितीतरी जास्त वाव असतो, आणि म्हणूनच 8-bit JPEG मध्ये टिकलं असतं त्यापेक्षा आकाश आणि त्वचेचे रंग एडिटिंगमधून चांगले टिकतात.
तुमचं इतर सॉफ्टवेअर ती उघडायला का नकार देतं
HEVC हा पेटंट असलेला कोडेक आहे, आणि डीकोडरवर परवान्याची बंधनं येतात. ही कायदेशीर आणि व्यावसायिक वस्तुस्थिती आहे, तांत्रिक नव्हे, आणि आधार असमान असण्याचं मुख्य कारण हेच आहे: काही ऑपरेटिंग सिस्टिम डीकोडर सोबत देतात, काही तो फक्त हार्डवेअर डीकोडर असेल तेव्हाच देतात, आणि काही ब्राउझर HEIC डीकोड करतात तर काही करत नाहीत. जो फोटो काढणाऱ्या फोनवर क्षणात उघडतो, तोच तीन मीटरवरच्या मशीनवर वाचताच येत नाही असं होऊ शकतं.
म्हणूनच FileSlimmer HEIC डीकोड करतं, पण ते कधीच लिहीत नाही. रूपांतर तुमच्याच ब्राउझरमध्ये चालतं — प्लॅटफॉर्मचा डीकोडर असेल तेव्हा तो, आणि नसेल तेव्हा स्वतःच होस्ट केलेला WebAssembly डीकोडर वापरून — आणि आउटपुट JPEG, PNG किंवा WebP असतो, म्हणजे समोरचं सॉफ्टवेअर प्रत्यक्षात उघडू शकेल असे फॉरमॅट.
HEIC विरुद्ध JPEG, प्रामाणिकपणे
| गुणधर्म | HEIC, म्हणजे HEVC सह HEIF | JPEG |
|---|---|---|
| सारख्याच क्वालिटीवरचा आकार | सहसा लहान | सहसा मोठा |
| बिट डेप्थ | प्रति चॅनेल 8 किंवा 10 बिट्स | प्रति चॅनेल 8 बिट्स |
| पारदर्शकता | आधार आहे | आधार नाही |
| एकाच फाइलमध्ये अनेक इमेज | आधार आहे | आधार नाही |
| अपरिचित सॉफ्टवेअरमध्ये उघडते का | बऱ्याचदा नाही | जवळपास नेहमीच |
| परवाना | पेटंट असलेला कोडेक | व्यवहारात बंधनमुक्त |
HEIC फाइल काय लपवून ठेवत असेल
कंटेनर एक संच सामावू शकत असल्यामुळे, एकाच .heic फाइलमध्ये तुम्हाला दिसणाऱ्या चित्रापेक्षा जास्त काही असू शकतं. Live Photo स्थिर फोटोसोबत इमेजची छोटी मालिकाही वाहून नेतो. पोर्ट्रेट मोडमधल्या फोटोसोबत डेप्थ मॅप असू शकतो. बर्स्टमध्ये अनेक फ्रेम असू शकतात आणि त्यातली एक प्रमुख म्हणून खुणावलेली असते. JPEG मध्ये रूपांतर केल्यावर एकच सपाट इमेज तयार होते, त्यामुळे प्रमुख इमेजसोबत कंटेनर जे काही वाहून नेत होता ते आउटपुटमध्ये नसतं.
दिशेचा उल्लेख वेगळा करायला हवा. HEIC फिरवणूक मेटाडेटा म्हणून नोंदवतं, अगदी JPEG प्रमाणेच. ती दुर्लक्षित करणारा कन्व्हर्टर आडवेतिडवे फोटो तयार करतो. FileSlimmer रूपांतरादरम्यान नोंदवलेली दिशा पिक्सेलवर लागू करतं, म्हणजे JPEG फोनने दाखवला होता तसाच दिसतो.
मग कोणती प्रत ठेवायची?
- ते वाचणाऱ्या परिसंस्थेतच तुम्ही राहणार असाल, आणि लहान संग्रह व जादा बिट डेप्थ तुम्हाला मोलाची वाटत असेल, तर HEIC हीच तुमची मूळ प्रत म्हणून ठेवा.
- बाहेर पाठवायच्या प्रत्येक गोष्टीसाठी JPEG मध्ये रूपांतर करा: अपलोड फॉर्म, प्रिंट सेवा, ईमेलची जोडफाइल, कोणतं सॉफ्टवेअर वापरतो हे माहीत नसलेला सहकारी.
- एडिटिंगसाठी लॉसलेस आउटपुट लागत असेल तेव्हाच PNG मध्ये रूपांतर करा; ती फाइल इतर दोघांपेक्षा बरीच मोठी असेल.
- HEIC हीच तुमची एकमेव मूळ फाइल असेल, तर तिचं JPEG मध्ये रूपांतर करून मग HEIC डिलीट करू नका. ते रूपांतर म्हणजे आधीच लॉसी असलेल्या इमेजचं पुन्हा लॉसी एन्कोडिंग असतं.
रूपांतर करण्याआधी माहीत असाव्यात अशा मर्यादा
रूपांतर ही दुसरी लॉसी फेरी असते, त्यामुळे उच्च सेटिंगवरही थोडी क्वालिटी जातेच. एखादा ब्राउझर HEVC मुळीच डीकोड करू शकत नसेल, आणि स्वतः होस्ट केलेला पर्यायी डीकोडरही एखादा विशिष्ट प्रकार हाताळू शकत नसेल — असामान्य प्रोफाइल, खराब झालेली फाइल, किंवा त्याच कंटेनरमध्ये HEVC खेरीज दुसरा कोडेक — तर चुकीचं काहीतरी तयार करण्याऐवजी रूपांतर फसतं. कोणती फाइल आणि का फसली हे FileSlimmer सांगतं, आणि मूळ फाइलला हात लावत नाही.
हे मुळापासूनच टाळायचं असेल, तर बहुतांश फोन कॅमेऱ्यांमध्ये सुसंगततेची सेटिंग असते, जी फोटो पुन्हा JPEG मध्ये काढायला लावते. कोणालाही फाइल सहज देता येण्याच्या बदल्यात तुम्ही स्टोरेज देऊन टाकता.
यासाठीची टूल्स
स्रोत
- ISO/IEC 23008-12 — High Efficiency Image File Format
- ITU-T H.265 — High Efficiency Video Coding
- Nokia Technologies — HEIF technical overview