Photo Sphere XMP मेटाडेटा

यहां बताए गए पैनोरामा नेमस्पेस में ऐसी प्रॉपर्टी होती हैं जो फ़ोटो सर्कल बनाने और रेंडर करने से जुड़ी जानकारी देती हैं. इन्हें कभी-कभी पैनोरामा भी कहा जाता है. जैसे, Android 4.2 कैमरे में Photo Sphere सुविधा की मदद से बनाए गए पैनोरामा. मेटाडेटा को क्रम में लगाया जाना चाहिए और उसे फ़ोटो स्फ़ियर में एम्बेड किया जाना चाहिए. इसके बारे में Adobe XMP स्टैंडर्ड के बारे में बताया गया है. इस पेज के आखिर में दी गई पहचान फ़ाइलें देखें.

नेमस्पेस यूआरआई http://ns.google.com/photos/1.0/panorama/

मेटाडेटा प्रॉपर्टी

नीचे दिए गए डायग्राम और टेबल में, GPano पैरामीटर के ज़रिए शामिल की गई फ़ोटो स्फ़ियर प्रॉपर्टी दिखाई गई हैं. 360 डिग्री टेक्स्ट में बदलाव करते और देखते समय, कृपया पक्का करें कि इस दस्तावेज़ में बताए गए तरीके से मेटाडेटा की पुष्टि की जाए और उसे अपडेट किया जाए. मुद्रा और शुरुआती शीर्षक फ़ील्ड के बारे में बताते समय, कृपया इस दस्तावेज़ में बाद में चर्चा की गई यूलर ऐंगल कन्वेंशन का पालन ज़रूर करें.

ध्यान दें कि Google प्रॉडक्ट सिर्फ़ गोल आकार के प्रोजेक्शन के साथ काम करता है. फ़िलहाल, दूसरे पक्ष सिर्फ़ अनुमान लगाते हैं.

अंतरिक्ष यान

गोलाकार प्रोजेक्शन

ध्यान दें कि अगर बेलन वाली इमेज का ऊपरी हिस्सा क्षितिज से ऊपर है, तो CroppedareaTopPixels नेगेटिव होना चाहिए. CroppedArrayaTopPixels के लिए वैल्यू 0 होने पर इमेज के सबसे ऊपर दिखेगी. CrooppedareaTopPixels का पॉज़िटिव मान, क्षितिज के नीचे इमेज के सबसे ऊपरी हिस्से को दिखाता है.

GPano पैरामीटर संदर्भ

नाम टाइप ज़रूरी है डिफ़ॉल्ट वैल्यू
(व्यू लेने वाले लोग)
प्रॉपर्टी की जानकारी इमेज में बदलाव होने पर कार्रवाई ज़रूरी है
GPano:UsePanoramaViewer बूलियन नहीं सही क्या इस इमेज को सामान्य फ़्लैट इमेज की तरह, फ़ोटो स्फ़ियर व्यूअर में दिखाना है. यह जानकारी, उपयोगकर्ता की पसंद या स्टिचिंग सॉफ़्टवेयर के हिसाब से दी जा सकती है. इमेज को दिखाने या डालने वाला ऐप्लिकेशन इसे अनदेखा कर सकता है. स्केल/क्रॉप:
कोई बदलाव नहीं. अगर व्यू का फ़ील्ड एक तय वैल्यू से कम हो जाता है, तो ऐप्लिकेशन इस वैल्यू को 'गलत है' पर स्विच कर सकता है.
GPano:CaptureSoftware स्ट्रिंग नहीं लागू नहीं अगर Android डिवाइस जैसे किसी मोबाइल डिवाइस पर इस्तेमाल किए गए ऐप्लिकेशन का इस्तेमाल करके कैप्चर किया गया है, तो उस ऐप्लिकेशन का नाम जिसका इस्तेमाल किया गया था (जैसे कि “Photo Sphere”). इसे तब ही खाली छोड़ा जाना चाहिए, जब स्रोत इमेज को मैन्युअल तरीके से कैप्चर किया गया हो, जैसे कि ट्राइपॉड पर डीएसएलआर का इस्तेमाल करके. लागू नहीं
GPano:StichingSoftware स्ट्रिंग नहीं लागू नहीं फ़ाइनल फ़ोटो फ़ील्ड बनाने में इस्तेमाल किया जाने वाला सॉफ़्टवेयर. कभी-कभी यह GPano:CaptureSoftware के बराबर भी हो सकता है. लागू नहीं
GPano:ProjectionType टेक्स्ट का विकल्प खोलें हां

आयताकार

इमेज फ़ाइल में इस्तेमाल किया गया प्रोजेक्शन टाइप. फ़िलहाल, Google प्रॉडक्ट सिर्फ़ वैल्यू के बराबर में काम करते हैं. स्केल/क्रॉप: कोई बदलाव नहीं.
GPno:पोज़ का शीर्षक डिग्री असली नहीं, लेकिन Google मैप पर प्रदर्शन के लिए आवश्यक है लागू नहीं इमेज के बीच में कंपास के शीर्षक को घड़ी की दिशा में डिग्री में मापा गया. वैल्यू >= 0 & < 360 होना चाहिए. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:PosePitchDegrades असली नहीं 0 इमेज के बीचों-बीच, पिच को क्षितिज के ऊपर डिग्री में मापा जाता है. वैल्यू >= -90 और <= 90 होना चाहिए. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:PoseRollDeडिग्रीs असली नहीं 0 क्षितिज से स्तर 0 होने पर इमेज से डिग्री में मापा जाता है. जैसे-जैसे रोल बढ़ता है, क्षितिज इमेज में घड़ी की उल्टी दिशा में घूमता है. वैल्यू > -180 और <= 180 होना चाहिए. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:शुरुआती व्यू हेडिंग डिग्री पूर्णांक नहीं 0 वास्तविक दुनिया के उत्तर दिशा के शुरुआती व्यू का हेडिंग ऐंगल, जो पैनो सेंटर से अलग है, उत्तर दिशा से डिग्री. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:InitialViewPitchDeडिग्रीs पूर्णांक नहीं 0 शुरुआती दुनिया के शुरुआती हिस्से में पिच का कोण, जो असल दुनिया के क्षितिज के ऊपर होता है, न कि पैनो सेंटर के हिसाब से. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:InitialViewRollDeडिग्रीs पूर्णांक नहीं 0 डिग्री में शुरुआती व्यू का रोल ऐंगल, जहां असल दुनिया का क्षितिज 0 है. जैसे-जैसे रोल बढ़ता है, क्षितिज व्यू में घड़ी की उल्टी दिशा में घूमता है. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:Initialहॉरिज़ॉन्टलFOVDedegrees असली नहीं लागू नहीं व्यू का शुरुआती हॉरिज़ॉन्टल फ़ील्ड, जिसे दर्शक को दिखाना चाहिए (डिग्री में). यह ज़ूम लेवल की तरह है. लागू नहीं
GPano:शुरुआती वर्टिकलFOVDeडिग्री असली नहीं लागू नहीं व्यू का शुरुआती वर्टिकल फ़ील्ड, जिसे दर्शक को दिखाना चाहिए (डिग्री में). यह ज़ूम लेवल की तरह है. अगर GPano:Initialहॉरिज़ॉन्टलFOVDeडिग्रीs और GPano:InitialverticalFOVDeडिग्रीs मौजूद हैं, तो GPano:Initial आरंभलFOVDeडिग्री को प्राथमिकता दी जाती है. अगर आपका कॉन्टेंट कई आसपेक्ट रेशियो में दिखाना है और सिर्फ़ वर्टिकल फ़ील्ड का व्यू देखना है, तो हॉरिज़ॉन्टल व्यू का फ़ील्ड बदल सकता है. इसके लिए, सिर्फ़ InitialverticalFOVDeडिग्री का इस्तेमाल करें. फ़िलहाल, Google के प्रॉडक्ट के साथ यह फ़ील्ड काम नहीं करता. लागू नहीं
GPano:FirstPhotoDate तारीख नहीं लागू नहीं 360 डिग्री साइज़ की पहली फ़ोटो बनाने की तारीख और समय. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:LastPhotoDate तारीख नहीं लागू नहीं 360 डिग्री साइज़ की फ़ोटो में बनाई गई आखिरी इमेज की तारीख और समय. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:SourcePhotosCount पूर्णांक नहीं लागू नहीं फ़ोटो स्फ़ीयर बनाने के लिए इस्तेमाल की गई सोर्स इमेज की संख्या. स्केल/क्रॉप: कोई बदलाव नहीं.
GPano:ExposureLockUsed बूलियन नहीं लागू नहीं जब अलग-अलग स्रोत की फ़ोटो कैप्चर की गई हों, तब भी कैमरे की एक्सपोज़र सेटिंग लॉक थी या नहीं. लागू नहीं
GPano:CroppedArrayaImageWidthPixels पूर्णांक हां लागू नहीं इमेज की पिक्सल में मूल चौड़ाई (बदलाव नहीं की गई इमेज के लिए वास्तविक चौड़ाई की चौड़ाई के बराबर). ऊपर दिया गया डायग्राम देखें. स्केल/क्रॉप: इमेज का नया साइज़ दिखाने के लिए इस प्रॉपर्टी को अपडेट करना ज़रूरी है.
GPano:CroppedAgeaImageHeightPixels पूर्णांक हां लागू नहीं इमेज की पिक्सल में मूल ऊंचाई (बदलाव नहीं की गई इमेज की असल ऊंचाई के बराबर). ऊपर दिया गया डायग्राम देखें. स्केल/क्रॉप: इमेज का नया साइज़ दिखाने के लिए इस प्रॉपर्टी को अपडेट करना ज़रूरी है.
GPano:fullPanoWidthPixels पूर्णांक हां लागू नहीं वह पूरी चौड़ाई जिससे इमेज को काटा गया था. अगर केवल एक आंशिक फ़ोटो कैप्चर किया गया, तो इससे यह पता चलता है कि पूरे फ़ोटो फ़्रेम की चौड़ाई क्या हो सकती थी. ऊपर दिया गया डायग्राम देखें. क्रॉप: कोई बदलाव नहीं.
स्केल: इसे ज़रूरत के हिसाब से स्केल किया जाना चाहिए.
GPano:fullPanoHeightPixels पूर्णांक हां लागू नहीं वह असल ऊंचाई, जहां से इमेज को काटा गया था. अगर केवल एक आंशिक फ़ोटो गोला कैप्चर किया गया था, तो यह उस पूर्ण ऊंचाई की जानकारी देता है, जो पूर्ण फ़ोटो सर्कल हो सकता था. ऊपर दिया गया डायग्राम देखें. क्रॉप: कोई बदलाव नहीं.
स्केल: इसे ज़रूरत के हिसाब से स्केल किया जाना चाहिए.
GPano:CroppedArrayaleftPixels पूर्णांक हां लागू नहीं वह कॉलम जहां इमेज के बाएं किनारे को फ़ुल साइज़ वाले सर्कल से काटा गया है. ऊपर दिया गया डायग्राम देखें. काटें: अगर इमेज का बायां क्रॉप बदला गया है, तो यह मान अपडेट किया जाना चाहिए.
स्केल: इसे उचित रूप से स्केल करना होगा.
GPano:CroppedArrayaTopPixels पूर्णांक हां लागू नहीं वह पंक्ति जहां इमेज के ऊपरी किनारे को फ़ुल साइज़ वाले सर्कल से काटा गया है. ऊपर दिया गया डायग्राम देखें. काटें: अगर इमेज के ऊपरी हिस्से को बदला गया हो, तो इस मान को अपडेट करना ज़रूरी है.
स्केल: इसे उचित रूप से मापा जाना चाहिए.
GPano:InitialCameraDolly असली नहीं 0 यह वैकल्पिक पैरामीटर वर्चुअल कैमरा की पोज़िशन को फ़ोटो एरिया के केंद्र से दूर, किसी खास जगह पर ले जाता है. पीछे की सतह की स्थिति -1.0 मान से दिखाई जाती है, जबकि सामने की सतह की स्थिति 1.0 से दिखाई जाती है. सामान्य तौर पर देखने के लिए, इस पैरामीटर को 0 पर सेट करें. लागू नहीं

पूरे फ़ोटो स्फ़ियर का उदाहरण

गैर- प्रोग्रामर सिर्फ़ छोटे बदलावों के साथ नीचे अपनी मौजूदा पूरी फ़ोटो 360 डिग्री x 180 डिग्री मेटाडेटा मेटाडेटा जोड़ सकते हैं. इमेज को एडिट करने वाले प्रॉडक्ट, जैसे कि Adobe Photoshop में ऐसा किया जा सकता है.

  1. 4,000 और 2,000 की किसी भी घटना को पिक्सल में अपनी इमेज से संबंधित चौड़ाई और ऊंचाई से मेल खाने के लिए बदलें
  2. अगर आप चाहते हैं कि Google मैप आपके 360 डिग्री किए गए फ़ोटो दिखा सके, तो Poseफ़ाईिंग डिग्री अपडेट करें. नहीं तो इस पैरामीटर को हटाया जा सकता है
  3. ऊपर बताए गए तरीके से, वैकल्पिक पैरामीटर अपडेट करें या हटाएं
<rdf:Description rdf:about="" xmlns:GPano="http://ns.google.com/photos/1.0/panorama/">
    <GPano:UsePanoramaViewer>True</GPano:UsePanoramaViewer>
    <GPano:CaptureSoftware>Photo Sphere</GPano:CaptureSoftware>
    <GPano:StitchingSoftware>Photo Sphere</GPano:StitchingSoftware>
    <GPano:ProjectionType>equirectangular</GPano:ProjectionType>
    <GPano:PoseHeadingDegrees>350.0</GPano:PoseHeadingDegrees>
    <GPano:InitialViewHeadingDegrees>90.0</GPano:InitialViewHeadingDegrees>
    <GPano:InitialViewPitchDegrees>0.0</GPano:InitialViewPitchDegrees>
    <GPano:InitialViewRollDegrees>0.0</GPano:InitialViewRollDegrees>
    <GPano:InitialHorizontalFOVDegrees>75.0</GPano:InitialHorizontalFOVDegrees>
    <GPano:CroppedAreaLeftPixels>0</GPano:CroppedAreaLeftPixels>
    <GPano:CroppedAreaTopPixels>0</GPano:CroppedAreaTopPixels>
    <GPano:CroppedAreaImageWidthPixels>4000</GPano:CroppedAreaImageWidthPixels>
    <GPano:CroppedAreaImageHeightPixels>2000</GPano:CroppedAreaImageHeightPixels>
    <GPano:FullPanoWidthPixels>4000</GPano:FullPanoWidthPixels>
    <GPano:FullPanoHeightPixels>2000</GPano:FullPanoHeightPixels>
    <GPano:FirstPhotoDate>2012-11-07T21:03:13.465Z</GPano:FirstPhotoDate>
    <GPano:LastPhotoDate>2012-11-07T21:04:10.897Z</GPano:LastPhotoDate>
    <GPano:SourcePhotosCount>50</GPano:SourcePhotosCount>
    <GPano:ExposureLockUsed>False</GPano:ExposureLockUsed>
</rdf:Description>

आंशिक फ़ोटो स्फ़ियर का उदाहरण

<rdf:Description rdf:about="" xmlns:GPano="http://ns.google.com/photos/1.0/panorama/">
    <GPano:UsePanoramaViewer>True</GPano:UsePanoramaViewer>
    <GPano:CaptureSoftware>Photo Sphere</GPano:CaptureSoftware>
    <GPano:StitchingSoftware>Photo Sphere</GPano:StitchingSoftware>
    <GPano:ProjectionType>equirectangular</GPano:ProjectionType>
    <GPano:PoseHeadingDegrees>350.0</GPano:PoseHeadingDegrees>
    <GPano:InitialViewHeadingDegrees>90.0</GPano:InitialViewHeadingDegrees>
    <GPano:InitialViewPitchDegrees>0.0</GPano:InitialViewPitchDegrees>
    <GPano:InitialViewRollDegrees>0.0</GPano:InitialViewRollDegrees>
    <GPano:InitialHorizontalFOVDegrees>75.0</GPano:InitialHorizontalFOVDegrees>
    <GPano:CroppedAreaLeftPixels>90</GPano:CroppedAreaLeftPixels>
    <GPano:CroppedAreaTopPixels>128</GPano:CroppedAreaTopPixels>
    <GPano:CroppedAreaImageWidthPixels>2300</GPano:CroppedAreaImageWidthPixels>
    <GPano:CroppedAreaImageHeightPixels>1042</GPano:CroppedAreaImageHeightPixels>
    <GPano:FullPanoWidthPixels>4000</GPano:FullPanoWidthPixels>
    <GPano:FullPanoHeightPixels>2000</GPano:FullPanoHeightPixels>
    <GPano:FirstPhotoDate>2012-11-07T21:03:13.465Z</GPano:FirstPhotoDate>
    <GPano:LastPhotoDate>2012-11-07T21:04:10.897Z</GPano:LastPhotoDate>
    <GPano:SourcePhotosCount>50</GPano:SourcePhotosCount>
    <GPano:ExposureLockUsed>False</GPano:ExposureLockUsed>
</rdf:Description>

इमेज एडिटिंग की बेहतर सुविधा

मज़बूत होने के लिए, वे प्रोग्राम जो व्यूअर में फ़ोटो स्फ़ियर दिखाते हैं, उन्हें जांच करनी चाहिए कि मूल मेटाडेटा को अपडेट किए बिना, मूल फ़ोटो स्फ़ियर को किसी ऐप्लिकेशन ने बढ़ाया है या नहीं. ऐसा नीचे दिए गए तरीके से किया जा सकता है:

  1. पक्का करें कि CroppedareaImageWidthPixels टैग, इमेज की चौड़ाई के बराबर हो
  2. पक्का करें कि CroppedArrayaImageHeightPixels टैग, इमेज की ऊंचाई के बराबर हो
  3. अगर पहला या दूसरा चरण पूरा नहीं हो पाता है, तो देखें कि इमेज का आसपेक्ट रेशियो (लंबाई-चौड़ाई का अनुपात) सुरक्षित रखा गया है या नहीं
  4. अगर तीसरा चरण पूरी नहीं हो पाता है, तो इमेज को 360 डिग्री घुमाएं
  5. अगर तीसरे चरण में पास होता है, तो आसपेक्ट रेशियो (चौड़ाई-ऊंचाई का अनुपात) बराबर होना चाहिए. साथ ही, इमेज से जुड़े नीचे दिए गए सभी टैग की वैल्यू, इमेज के नए साइज़ के हिसाब से होनी चाहिए:
    CroppedArrayaImageWidthPixels, CroppedArrayaImageHeightPixels, FullPanoWidthPixels, FullPanoHeightPixels, CroppedArrayaleftPixels, CroppedArrayaRightPixel.

यूलर ऐंगल से जुड़ी खास जानकारी

दुनिया के फ़्रेम में फ़ोटो गोले का ओरिएंटेशन यूलर कोणों से तय होता है. यूलर ऐंगल कई तरह से तय किए जा सकते हैं. सही होने के लिए, किसी कार्यक्रम को यूलर ऐंगल कन्वेंशन के मुताबिक होना चाहिए.

पृथ्वी की ऊपरी सतह पर दी गई जगह, एक तय किए गए "स्थानीय फ़्रेम" XYZ के बारे में बताती है. यहां Z का मतलब है, धरती की सतह पर ऊपर की ओर और ऊपर से भेजा गया ऑर्थोगॉनल, X, उत्तर की ओर है, और Y उत्तर की ओर है. ओरिएंटेशन को इस फ़िक्स और कोटेशन वाले स्थानीय फ़्रेम &कोट के हिसाब से तय किया जाता है. यूलर ऐंगल, तय किए गए XYZ ऐक्सिस के आस-पास रोटेशन होते हैं. इसलिए, पोल पर ओरिएंटेशन तय नहीं किया जाता. इसका मतलब है कि कोणों (0, 0, 0) वाला 360 डिग्री गोला ऐसी दिशा में होगा जो धरती की सतह के साथ-साथ समान दूरी पर होगा.

यूलर ऐंगल, बिंदुओं (रोटेट किए गए) फ़ोटो फ़्रेम और कोट में लगे बिंदुओं (तय) और कोट के लोकल फ़्रेम" से पॉइंट की मैपिंग करते हैं:

ऑइलर ऐंगल से ऐसे घुमाव का मैट्रिक्स बनाया जाता है जो इस क्रम में होता है (यह क्रम सुरक्षित रखना ज़रूरी है):

R = R_Z(-हेडिंग) * R_X(पिच) * R_Y(रोल)

जहां: R_*(t) नाम के अक्ष में दाएं हाथ से घुमाया गया है:

को चुनें.

जहां और जहां: Z = अप, X = पूर्व, Y = उत्तर.

इस क्रम को सुरक्षित रखना ज़रूरी है:

R = R_Z(-हेडिंग) * R_X(पिच) * R_Y(रोल)

ऐसा होता है, क्योंकि रोटेशन की स्थिति में कोई बदलाव नहीं होता.

ध्यान दें कि हेडिंग ऐंगल, स्टैंडर्ड कंपास हेडिंग जैसा ही होता है.

रेफ़रंस

Adobe XMP स्टैंडर्ड: http://www.Adobe.com/devnet/xmp.html