EXIF फाइल क्या है?
EXIF का अर्थ है “एक्सचेंजेबल इमेज फाइल फॉर्मेट”, जो पहली बार 1985 में जापान कैमरा इंडस्ट्री एसोसिएशन (JCIA) द्वारा दी गई परिभाषा थी। मानक जापान इलेक्ट्रॉनिक्स द्वारा प्रबंधित किया जाता है और सूचना प्रौद्योगिकी उद्योग संघ (JEITA) आज की स्थिति में। EXIF मुख्य रूप से डिजिटल कैमरों और स्कैनर द्वारा उपयोग किए जाने वाले छवि और ध्वनि प्रारूपों के विनिर्देशों के लिए एक मानक है।
EXIF मानक में छवि फ़ाइल के साथ टैगिंग और मेटाडेटा जानकारी शामिल है। मेटाडेटा में कैमरा मॉडल, शटर स्पीड, दिनांक और समय, एपर्चर, निर्माता, एक्सपोज़र समय, X रिज़ॉल्यूशन, Y रिज़ॉल्यूशन आदि जैसी जानकारी हो सकती है। आम तौर पर EXIF डेटा डिफ़ॉल्ट रूप से छिपा होता है। EXIF डेटा देखने के लिए, छवि देखने के एप्लिकेशन के भीतर दृश्य गुणों का चयन करना होगा। Exif मेटाडेटा में एकल छवि फ़ाइल में तकनीकी और प्राथमिक छवि डेटा के साथ थंबनेल भी शामिल हो सकते हैं।
इतिहास और संस्करण
- अक्टूबर 1995 में, JEIDA ने संस्करण 1 की स्थापना की। इस संस्करण में JEIDA ने संरचना को परिभाषित किया, जिसमें छवि डेटा प्रारूप और विशेषता जानकारी और बुनियादी टैग शामिल हैं।
- नवंबर 1997, संस्करण 1.1 को संस्करण 1 के अधिकांश टैग के साथ पेश किया गया था, लेकिन वैकल्पिक विशेषता जानकारी और प्रारूप संचालन के लिए प्रावधान भी जोड़े गए।
- जून 1998, sRGB कलर स्पेस के साथ वर्जन 2, कंप्रेस्ड थंबनेल और ऑडियो फाइल।
- दिसंबर 1998, संस्करण 2.1 उन्नत भंडारण और विशेषता जानकारी के साथ।
- फरवरी 2002, संस्करण 2.2, प्रिंट परिष्करण के अतिरिक्त संस्करण 2.1 में सुधार हुआ।
- सितंबर 2003, संस्करण 2.21 वैकल्पिक रंग स्थान के साथ जिसे Adobe RGB कहा जाता है।
EXIF फ़ाइल प्रारूप
EXIF विशिष्ट मेटाडेटा को जोड़ने के साथ निम्न फ़ाइल स्वरूपों का उपयोग करता है।
- JPEG - संपीड़ित छवि फ़ाइलों के लिए असतत कोसाइन ट्रांसफ़ॉर्म (DCT)।
- TIFF Rev. 6.0 (RGB या YCbCr) असम्पीडित छवि फ़ाइलों के लिए।
- आरआईएफएफ WAV ऑडियो फाइलों के लिए (रैखिक पीसीएम या ITU-T G.711 असंपीड़ित ऑडियो डेटा के लिए μ-Law PCM, और IMA-ADPCM संपीड़ित ऑडियो डेटा के लिए।
EXIF द्वारा प्रयुक्त मार्कर
मार्कर 0xFFE0~~0xFFEF “एप्लिकेशन मार्कर” है, जिसका उपयोग उपयोगकर्ता एप्लिकेशन द्वारा किया जाता है। उदाहरण के लिए, पुराने डिजी कैम छवियों को संग्रहीत करने के लिए जेएफआईएफ (जेपीईजी फाइल इंटरचेंज फॉर्मेट) का उपयोग करते हैं। JFIF डिजी कैम कॉन्फ़िगरेशन डेटा और थंबनेल इमेज डालने के लिए APP0 (0xFFE0) मार्कर का उपयोग करता है। इसके अलावा, EXIF डेटा डालने के लिए एक एप्लिकेशन मार्कर का भी उपयोग करता है, लेकिन EXIF JFIF प्रारूप के साथ संघर्ष से बचने के लिए APP1 (0xFFE1) मार्कर का उपयोग करता है। प्रत्येक EXIF फ़ाइल स्वरूप इस प्रारूप से प्रारंभ होता है।
SOI मार्कर | APP1 मार्कर | APP1 डेटा | अन्य मार्कर |
---|---|---|---|
FFD8 | FFE1 | SSSS 457869660000 TTTT…… | FFXX SSSS DDDD…… |
यह SOI (0xFFD8) मार्कर से शुरू होता है, इसलिए यह एक JPEG फ़ाइल है। फिर APP1 मार्कर तुरंत अनुसरण करता है। EXIF के सभी डेटा इस APP1 डेटा क्षेत्र में संग्रहीत हैं। ऊपरी टेबल पर “SSSS” के भाग का अर्थ है APP1 डेटा क्षेत्र (EXIF डेटा क्षेत्र) का आकार। कृपया ध्यान दें कि आकार “एसएसएसएस” में डिस्क्रिप्टर का आकार भी शामिल है। “SSSS” के बाद, APP1 डेटा शुरू होता है। पहला भाग यह पहचानने के लिए एक विशेष डेटा है कि EXIF या नहीं, ASCII वर्ण “EXIF” और 0x00 के 2 बाइट्स का उपयोग किया जाता है। APP1 मार्कर क्षेत्र के बाद, अन्य JPEG मार्कर इस प्रकार हैं।
Exif डेटा संरचना
EXIF डेटा (APP1) का एक रफ स्ट्रक्चर नीचे दिखाया गया है। जैसा कि ऊपर चर्चा की गई है, EXIF डेटा ASCII वर्ण “EXIF” और 0x00 के 2 बाइट्स से शुरू होता है, फिर EXIF डेटा का अनुसरण करता है। EXIF डेटा स्टोर करने के लिए TIFF प्रारूप का उपयोग करता है।
FFE1 | APP1 मार्कर |
---|---|
SSSS | APP1 डेटा |
45786966 0000 | Exif हैडर |
49492A00 08000000 | TIFF हैडर |
XXXX। . . . | IFD0 (मुख्य छवि) |
एलएलएलएलएलएलएलएल | आईएफडी1 से लिंक करें |
XXXX। . . . | IFD0 का डेटा क्षेत्र |
XXXX। . . . | Exif SubIFD |
00000000 | लिंक का अंत |
XXXX। . . . | Exif SubIFD का डेटा क्षेत्र |
XXXX। . . . | IFD1(थंबनेल इमेज) |
00000000 | लिंक का अंत |
XXXX। . . IFD1 . का डेटा क्षेत्र | |
एफएफडी8XXXX। . . XXXXFFD9 | थंबनेल छवि |
टीआईएफएफ हैडर
वह 8-बाइट TIFF फ़ाइल शीर्षलेख में निम्न जानकारी शामिल है:
बाइट्स 0-1:
फ़ाइल में प्रयुक्त बाइट क्रम। कानूनी मूल्य हैं: “II” (4949.H) “MM” (4D4D.H)।
“द्वितीय” प्रारूप में, बाइट क्रम हमेशा कम से कम महत्वपूर्ण बाइट से सबसे महत्वपूर्ण बाइट तक होता है, दोनों 16-बिट और 32-बिट पूर्णांक के लिए इसे छोटा-एंडियन बाइट ऑर्डर कहा जाता है। “एमएम” प्रारूप में, बाइट क्रम हमेशा 16-बिट और 32-बिट पूर्णांक दोनों के लिए सबसे महत्वपूर्ण से कम से कम महत्वपूर्ण होता है। इसे बिग-एंडियन बाइट ऑर्डर कहा जाता है।
बाइट्स 2-3:
एक मनमाना लेकिन सावधानी से चुनी गई संख्या (42) जो आगे फ़ाइल को TIFF फ़ाइल के रूप में पहचानती है। बाइट क्रम बाइट्स 0-1 के मान पर निर्भर करता है।
बाइट्स 4-7:
पहले IFD का ऑफ़सेट (बाइट्स में)। निर्देशिका शीर्षलेख के बाद फ़ाइल में किसी भी स्थान पर हो सकती है लेकिन एक शब्द सीमा पर शुरू होनी चाहिए। विशेष रूप से, एक छवि फ़ाइल निर्देशिका उस छवि डेटा का अनुसरण कर सकती है जिसका वह वर्णन करती है। पाठकों को जहां भी वे नेतृत्व कर सकते हैं, वहां पॉइंटर्स का पालन करना चाहिए। टीआईएफएफ फ़ाइल की शुरुआत के संबंध में किसी स्थान को संदर्भित करने के लिए इस दस्तावेज़ में बाइट ऑफ़सेट शब्द का हमेशा उपयोग किया जाता है। फ़ाइल के पहले बाइट में 0 का ऑफ़सेट होता है।
छवि फ़ाइल निर्देशिका
एक आईएफडी में छवि के बारे में जानकारी के साथ-साथ वास्तविक छवि डेटा के संकेत भी होते हैं। इसमें निर्देशिका प्रविष्टियों की संख्या (यानी फ़ील्ड की संख्या) की 2-बाइट गणना होती है, इसके बाद 12-बाइट फ़ील्ड प्रविष्टियों का अनुक्रम होता है , उसके बाद अगले IFD की 4-बाइट ऑफ़सेट (या 0 यदि कोई नहीं)। TIFF फ़ाइल में कम से कम 1 IFD होना चाहिए और प्रत्येक IFD में कम से कम एक प्रविष्टि होनी चाहिए।
आईएफडी एंट्री
प्रत्येक 12-बाइट IFD प्रविष्टि निम्न स्वरूप में है।
बाइट्स | विवरण |
---|---|
0-1 | फ़ील्ड की पहचान करने वाला टैग |
2-3 | फ़ील्ड प्रकार |
4-7 | निर्दिष्ट प्रकार की गणना |
8-11 | मान ऑफ़सेट, फ़ील्ड के लिए मान की फ़ाइल ऑफ़सेट (बाइट्स में)। मान एक शब्द सीमा पर शुरू होने की उम्मीद है; इस प्रकार संगत मूल्य ऑफसेट एक सम संख्या होगी। छवि डेटा के बाद भी यह फ़ाइल ऑफ़सेट फ़ाइल में कहीं भी इंगित कर सकती है |
TIFF फ़ील्ड एक तार्किक इकाई है जिसमें TIFF टैग और उसका मान होता है। इस तार्किक अवधारणा को आईएफडी एंट्री के रूप में लागू किया जाता है, साथ ही वास्तविक मूल्य अगर यह मूल्य/ऑफसेट भाग में फिट नहीं होता है, आईएफडी एंट्री के अंतिम 4 बाइट्स। अधिकांश संदर्भों में टीआईएफएफ क्षेत्र और आईएफडी प्रविष्टि शब्द विनिमेय हैं।
थंबनेल छवि
Exif प्रारूप में छवि का थंबनेल होता है (रिको RDC-300Z को छोड़कर)। आमतौर पर यह IFD1 के बगल में स्थित होता है। थंबनेल के लिए 3 प्रारूप हैं; जेपीईजी प्रारूप (जेपीईजी वाईसीबीसीआर का उपयोग करता है), आरजीबी टीआईएफएफ प्रारूप, वाईसीबीसीआर टीआईएफएफ प्रारूप।
जेपीईजी प्रारूप थंबनेल
यदि IFD1 में संपीड़न (0x0103) टैग का मान ‘6’ है, तो थंबनेल छवि प्रारूप JPEG है। अधिकांश Exif छवि थंबनेल के लिए JPEG प्रारूप का उपयोग करती है। उस स्थिति में, आप IFD1 में JpegIFOffset(0x0201) टैग द्वारा थंबनेल का ऑफ़सेट प्राप्त कर सकते हैं, JpegIFByteCount(0x0202) टैग द्वारा थंबनेल का आकार। डेटा प्रारूप सामान्य जेपीईजी प्रारूप है, 0xFFD8 से शुरू होता है और 0xFFD9 तक समाप्त होता है। ऐसा लगता है कि जेपीईजी प्रारूप और 160x120 पिक्सेल आकार के थंबनेल प्रारूप Exif2.1 या बाद के संस्करण के लिए अनुशंसित हैं।
TIFF प्रारूप थंबनेल
यदि IFD1 में संपीड़न (0x0103) टैग का मान ‘1’ है, तो थंबनेल छवि प्रारूप कोई संपीड़न नहीं है (जिसे TIFF छवि कहा जाता है)। थंबनेल डेटा का प्रारंभ बिंदु स्ट्रिपऑफ़सेट (0x0111) टैग है, थंबनेल का आकार स्ट्रिपबाइट गणना (0x0117) टैग का योग है।