अल्ट्रा एचडीआर इमेज फ़ॉर्मैट v1.0

परिचय

यह दस्तावेज़ एक नए फ़ाइल फ़ॉर्मैट के व्यवहार के बारे में बताता है, जो JPEG इमेज फ़ाइल में लॉगारिद्मिक रेंज गेन मैप इमेज. ऐसे पुराने पाठक जो नए फ़ॉर्मैट में कंवेंशनल लो डाइनैमिक को पढ़ने और दिखाने की सुविधा मिलती है इमेज फ़ाइल से इमेज चुनें.एक से ज़्यादा प्लैटफ़ॉर्म पर विज्ञापन दिखाने की सुविधा गेन मैप के साथ मुख्य इमेज ली जा सकती है और हाई डाइनैमिक रेंज वाली इमेज रेंडर की जा सकती है काम करने वाले डिसप्ले.

इस दस्तावेज़ के बाकी हिस्से में, उन प्रोसेस के तरीकों की जानकारी दी गई है जो इन कामों के लिए ज़रूरी हैं इस प्रारूप का उपयोग करें. हाई लेवल पर, किसी इमेज का लाइफ़ साइकल, जो इस फ़ॉर्मैट में होगा:

  1. एन्कोडिंग

    1. मैप जेनरेशन बढ़ाएं
    2. मैप को कंप्रेस करें
    3. मैप कंटेनर जनरेट करें
  2. डिकोड किया जा रहा है


उदाहरण
संबंधित मेटाडेटा और ऑफ़सेट के साथ, अल्ट्रा एचडीआर इमेज फ़ॉर्मैट का फ़ाइल लेआउट
जानकारी

पहला डायग्राम. फ़ाइल लेआउट और काम के मेटाडेटा का उदाहरण.

वजह

इस फ़ाइल फ़ॉर्मैट का मकसद, एसडीआर इमेज में ज़्यादा जानकारी कोड में बदलना है ऐसी फ़ाइलें जिन्हें बनाने के लिए, डिसप्ले तकनीक के साथ इस्तेमाल किया जा सकता है सभी फ़ॉर्मैट को एक ही फ़ाइल में कस्टमाइज़ किया जा सकता है.

इसके व्यावहारिक होने के लिए, फ़ाइल फ़ॉर्मैट में ये चीज़ें होनी चाहिए:

  • पुराने सिस्टम के साथ काम करने की सुविधा देने वाले हों, ताकि छोटे दर्शकों के लिए पारंपरिक एसडीआर इमेज इस्तेमाल की जा सके दिखाई देता है.
  • यह बहुत ज़्यादा जगह नहीं लेता है.

इसके अलावा, डिसप्ले तकनीक में ये चीज़ें ज़रूर होनी चाहिए:

  • डिकोड करने के लिए भारी प्रोसेसिंग की ज़रूरत नहीं होती.
  • डिसप्ले के एचडीआर और एसडीआर के व्हाइट पॉइंट के बीच के किसी भी अनुपात के हिसाब से एडजस्ट करना जो डिवाइसों के हिसाब से अलग-अलग हो सकते हैं या किसी एक डिवाइस पर डिवाइस.

आखिर में, यह ज़रूरी है कि तकनीक से पहले की सभी कार्रवाइयां की जा सकें ये सब काम नहीं करते:

  • हाइलाइट की गई क्लिप.
  • गहरे हिस्सों को हल्का करना.
  • लोकल कंट्रास्ट को बदलना या कंप्रेस करना.
  • मिलते-जुलते टोनल संबंधों को बदलना (सीन में मौजूद ऑब्जेक्ट के बीच).

डिपेंडेंसी

इस स्पेसिफ़िकेशन के मानक रेफ़रंस यहां दिए गए हैं:

परिभाषाएं

  • एसडीआर डिसप्ले

    • कंवेंशनल डिसप्ले, जिसे एचडीआर कॉन्टेंट दिखाने के लिए नहीं बनाया गया है. ये आम तौर पर, डिसप्ले में सबसे ज़्यादा चमक करीब 400 पिक्सल की होती है cd/m2 या इससे कम.
  • एचडीआर डिसप्ले

    • एचडीआर कॉन्टेंट के लिए डिज़ाइन किया गया डिसप्ले. ये डिसप्ले आम तौर पर, आम तौर पर, एसडीआर डिसप्ले की तुलना में कम से कम पीक स्क्रीन की रोशनी 800 cd/m2 या इससे ज़्यादा. होता है. आम तौर पर, इसका कंट्रास्ट भी बेहतर होता है एसडीआर डिसप्ले की तुलना में रेशियो.
  • मुख्य इमेज

    • सेकंडरी मीडिया वाली GContainer फ़ाइल में किसी इमेज का पहला इंस्टेंस फ़ाइलें उसमें जोड़ दी जाएंगी. मुख्य इमेज में GContainer XMP मेटाडेटा शामिल है बाद के सेकंडरी मीडिया आइटम का क्रम और प्रॉपर्टी तय करना फ़ाइल कंटेनर में मौजूद फ़ाइलें हैं.
  • दूसरी इमेज

    • बाद में आने वाली मीडिया आइटम फ़ाइलें जिन्हें GContainer फ़ाइल.
  • रेंज कंप्रेशन

    • फ़ोटोग्राफ़ी में, असल दुनिया के सीन आम तौर पर इस इमेज को एसडीआर डिसप्ले में दिखाया जा सकता है. रेंज कंप्रेशन जैसी कार्रवाइयां, जिसे लोकल टोन मैपिंग कहा जाता है, उसकी डायनामिक रेंज को कम करने के लिए इमेज. इस कमी को इसलिए हटाया जाना चाहिए, ताकि हाइलाइट की कोई क्लिप न बनाई जाए और न ही उसे खराब होने दिया जाए स्थानीय कंट्रास्ट को बनाए रखते हुए, शैडो को ज़्यादा से ज़्यादा बनाए रखा जा सकता है.आप कोशिश करें इमेज की रोशनी के बड़े किनारों का साइज़ कम करें, जिससे वह अपने वैश्विक कंट्रास्ट को बनाए रखता है. साथ ही, यह छोटे चमकते एज, जो कि बारीकियां हैं.हालांकि, कई तरीके हैं अलग-अलग तरीके से लागू किया जाता है, जैसे कि ज़्यादातर आधुनिक आज के दौर में डिजिटल कैमरे.
  • एसडीआर का व्हाइट पॉइंट

    • किसी डिसप्ले पर ज़्यादा से ज़्यादा एसडीआर कॉन्टेंट की लीनियर ल्यूमिनेंस पॉइंट.
  • एचडीआर का व्हाइट पॉइंट

    • किसी डिसप्ले पर एचडीआर कॉन्टेंट की ज़्यादा से ज़्यादा लीनियर चमक पॉइंट. आम तौर पर यह वैल्यू, एसडीआर के व्हाइट पॉइंट से ज़्यादा होती है.
  • बूस्ट

    • एचडीआर के व्हाइट पॉइंट को एसडीआर के व्हाइट पॉइंट से भाग दिया जाता है.
  • कॉन्टेंट बूस्ट की ज़्यादा से ज़्यादा सीमा (समीकरण में max_content_boost)

    • इस वैल्यू की मदद से, कॉन्टेंट क्रिएटर यह तय कर सकता है कि इमेज में कितनी चमक होगी एचडीआर डिसप्ले पर दिखने पर, एसडीआर क्वालिटी में उसकी तुलना की जा सकती है.
    • यह वैल्यू, किसी इमेज के लिए कॉन्स्टेंट है. उदाहरण के लिए, अगर मान चार है, फिर किसी भी दिए गए पिक्सेल के लिए, डिसप्ले किए गए एचडीआर रेंडरिंग की लीनियर चमक का ज़्यादा से ज़्यादा चार गुना होना चाहिए एसडीआर रेंडर करना. इसका मतलब है कि फ़ोटो के चमकदार हिस्से सीन को 4 गुना तक ज़्यादा चमकदार बनाया जा सकता है.
    • व्यावहारिक तौर पर, यह वैल्यू आम तौर पर 1.0 से ज़्यादा होती है.
    • हमेशा कम से कम कॉन्टेंट बूस्ट की वैल्यू से ज़्यादा या इसके बराबर.
  • कम से कम कॉन्टेंट बूस्ट (समीकरण में min_content_boost)

    • इस वैल्यू की मदद से, कॉन्टेंट क्रिएटर यह तय कर सकता है कि एचडीआर डिसप्ले पर दिखाए जाने पर इमेज, एसडीआर के हिसाब से मिल सकती है समझौते का पालन नहीं करता.यह वैल्यू, किसी इमेज के लिए कॉन्स्टेंट है.
    • उदाहरण के लिए, अगर वैल्यू 0.5 है, तो किसी भी पिक्सल के लिए लीनियर डिसप्ले किए गए एचडीआर वर्शन की चमक (कम से कम) 0.5 गुना होनी चाहिए एसडीआर रेंडिशन की लीनियर ल्यूमिनेंस.
    • व्यावहारिक तौर पर, यह वैल्यू आम तौर पर 1.0 के बराबर या उससे कम होती है.
    • हमेशा ज़्यादा से ज़्यादा कॉन्टेंट बूस्ट की वैल्यू से कम या इसके बराबर.
  • सबसे ज़्यादा डिसप्ले बूस्ट (समीकरण में max_display_boost)

    • किसी दिए गए पॉइंट पर, डिसप्ले के साथ काम करने वाला ज़्यादा से ज़्यादा बूस्ट समय. डिवाइस की सेटिंग और दूसरी चीज़ों के आधार पर, यह वैल्यू समय के साथ बदल सकती है जैसे, आस-पास की रोशनी की स्थिति या पिक्सल की चमक कितनी है स्क्रीन पर.
    • उदाहरण के लिए, अगर यह वैल्यू 4.0 है, तो डिसप्ले ऐसा पिक्सल दिखाया जा रहा है जिसकी चमक एसडीआर से चार गुना ज़्यादा है व्हाइट पॉइंट. यह वैल्यू हमेशा >= 1.0 होती है, क्योंकि डिसप्ले हमेशा एचडीआर व्हाइट को डिसप्ले करें, जो एसडीआर व्हाइट की तरह चमकदार हो.
  • डिसप्ले बूस्ट

    • ज़्यादा से ज़्यादा कॉन्टेंट बूस्ट और ज़्यादा से ज़्यादा डिसप्ले बूस्ट के कम के बराबर. यह वैल्यू हमेशा >= 1.0 होती है.
    • उदाहरण के लिए, अगर कॉन्टेंट बूस्ट की ज़्यादा से ज़्यादा वैल्यू 4.0 और डिसप्ले बूस्ट की ज़्यादा से ज़्यादा वैल्यू 3.0 है, तो डिसप्ले बूस्ट 3.0 है. पिक्सल की रोशनी तीन गुना तक ज़्यादा बढ़ जाती है एसडीआर की तुलना में, डिसप्ले की क्षमता पर निर्भर करता है.
    • दूसरे उदाहरण के लिए, अगर कॉन्टेंट बूस्ट की ज़्यादा से ज़्यादा वैल्यू 4.0 और ज़्यादा से ज़्यादा डिसप्ले बूस्ट है 5.0 है, तो डिसप्ले बूस्ट 4.0 है. पिक्सल ज़्यादा से ज़्यादा 4x तक दिखते हैं एसडीआर से ज़्यादा चमकदार हैं, क्योंकि कॉन्टेंट का मकसद सीमित करने वाला फ़ैक्टर है.
  • एचडीआर रेंडरिंग को टारगेट करें

    • कॉन्टेंट क्रिएटर के हिसाब से सबसे सही एचडीआर क्वालिटी.
  • अडैप्टेड एचडीआर रेंडरिंग

    • डिसप्ले पर दिखने वाला आखिरी एचडीआर वर्शन. मौजूदा डिसप्ले बूस्ट के लिए, टारगेट एचडीआर वर्शन में बदलाव किया जा रहा है.
  • मैप पाएं (समीकरणों में recovery(x, y))

    • एक मैप जो बताता है कि हर पिक्सल की रोशनी कितनी होनी चाहिए. एसडीआर में यह जानकारी दी जाती है एचडीआर क्वालिटी में वीडियो देखने के लिए किया जा सकता है. यह मैप एकल-चैनल या मल्टी-चैनल. मल्टी-चैनल मैप हर एक के लिए एक अलग फ़ायदा दिखाता है कलर चैनल, जैसे कि लाल, हरा, और नीला. इस दस्तावेज़ में दिखाया गया है तो यह काम करता है.
  • clamp(x, a, b)

    • वैल्यू x को रेंज [a, b] से जोड़ें.
  • exp2(x)

    • बेस 2 एक्सपोनेंशिएशन; 2x.
  • floor(x)

    • x के बराबर या उससे कम का निकटतम पूर्णांक लौटाता है.
  • log2(x)

    • बेस 2 लॉगारिद्म; लॉग2(x)
  • pow(b, x)

    • घातांक; bx.
  • एक्सएमपी

  • मल्टी-पिक्चर फ़ॉर्मैट

    • मल्टी-पिक्चर फ़ॉर्मैट एक तकनीक है, जिसे कैमरा और इमेजिंग ने बनाया है JPEG कोड में बदली गई कई इमेज को स्टोर करने के लिए प्रॉडक्ट असोसिएशन (सीआईपीए) एक JPEG फ़ाइल दिखेगी.
    • ज़्यादा जानकारी के लिए, इससे जुड़ी डिपेंडेंसी CIPA का व्हाइट पेपर देखें DC-x 007-2009 मल्टी-पिक्चर फ़ॉर्मैट.
  • कंटेनर

    • GContainer की मदद से, एक इमेज में कई इमेज सेव की जा सकती हैं कंटेनर, जिसमें एक इमेज को मुख्य इमेज माना जाता है. कोई भी अतिरिक्त इमेज को वैकल्पिक वर्शन या सहायक माना जाता है. XMP मेटाडेटा का इस्तेमाल किसी अतिरिक्त इमेज. ज़्यादा जानकारी के लिए, GContainer देखें जानकारी सेक्शन में जाएं.

कोड में बदलें

इस सेक्शन में, शर्तों के मुताबिक JPEG फ़ाइल को कोड में बदलने का तरीका बताया गया है. T.81 देखें (09/92) डिजिटल कंप्रेशन और लगातार टोन स्टिल की कोडिंग इमेज. देखने के लिए, डिपेंडेंसी सेक्शन में जाएं JPEG फ़ॉर्मैट में जानकारी डालें.

मैप जेनरेशन बढ़ाएं

आम तौर पर, कैमरा इमेजिंग पाइपलाइन ज़्यादा डाइनैमिक रेंज के ल्यूमिनेंस डेटा को कंवेंशनल की निचली रेंज तक कंप्रेस करें एसडीआर डिसप्ले. गेन मैप इतने डेटा को स्टोर करने का तरीका मुहैया कराता है, ताकि ज़्यादा डाइनैमिक रेंज के ल्यूमिनेंस डेटा को वापस पाने के लिए किया जा सकता है.

इस सेक्शन में नीचे दी गई कैलकुलेशन, फ़्लोटिंग पॉइंट अंकगणित पर आधारित हैं.

यहां दिए गए फ़ंक्शन, एसडीआर इमेज के बारे में बताते हैं:

  • SDR'(x, y), तीन चैनल वाला नॉन-लीनियर (आम तौर पर गामा-एन्कोडेड) होता है मुख्य इमेज.
  • SDR(x, y), तीन चैनल वाली मुख्य इमेज का लीनियर वर्शन है, मुख्य रंग की इमेज के लीनियर वर्शन में बदलाव करके मिलता है स्पेस. उदाहरण के लिए, sRGB ट्रांसफ़र फ़ंक्शन के साथ कलर स्पेस से लीनियर कलर स्पेस, जो बुनियादी रंगों को बनाए रखता है.

Ysdr(x, y) फ़ंक्शन को 0.0 से 1.0 की रेंज में तय किया जाता है और यह स्टैंडर्ड डाइनैमिक रेंज की प्राइमरी इमेज लीनियर ल्यूमिनेंस:

Ysdr(x, y) = primary_color_profile_to_luminance(SDR(x, y))

एचडीआर इमेज के लिए भी ऐसी ही परिभाषाएं मौजूद हैं.

  • HDR'(x, y), तीन चैनल वाला नॉन-लीनियर है. इसका मतलब है कि PQ या HLG कोड में बदली गई है इमेज.
  • HDR(x, y), तीन चैनल वाली लीनियर एचडीआर इमेज है.

एचडीआर इमेज के दिए गए पॉइंट पर मौजूद चमक Yhdr(x, y) है:

Yhdr(x, y) = primary_color_profile_to_luminance(HDR(x, y))

कॉन्टेंट बूस्ट को ज़्यादा से ज़्यादा बढ़ाने के लिए, Yhdr(x, y) को 0.0 की रेंज में तय किया गया है.

एसडीआर और एचडीआर इमेज का रिज़ॉल्यूशन एक ही होना चाहिए. एसडीआर की कलर प्रोफ़ाइल इमेज, एचडीआर इमेज का कलर स्पेस तय करती है.

उदाहरण के लिए, अगर SDR की मुख्य इमेज में Display-P3 कलर प्रोफ़ाइल है, तो एचडीआर इमेज को उस प्रोफ़ाइल के मुख्य रंगों के हिसाब से तय किया जाता है. यह इसका मतलब है कि एचडीआर इमेज में Display-P3 के बुनियादी रंग भी हैं.

गेन मैप का हिसाब, दो लीनियर इमेज से लिया गया है, जिनमें एचडीआर इमेज की ज़रूरत थी ल्यूमिनेंस, Yhdr(x, y), और स्टैंडर्ड रेंज ल्यूमिनेंस इमेज, Ysdr(x, y).

pixel_gain(x, y) फ़ंक्शन को Yhdr(x, y) के बीच के अनुपात के तौर पर परिभाषित किया जाता है फ़ंक्शन और Ysdr(x, y) फ़ंक्शन:

pixel_gain(x, y) = (Yhdr(x, y) + offset_hdr) / (Ysdr(x, y) + offset_sdr)

pixel_gain(x, y) फ़ंक्शन का व्यवहार जहां Ysdr(x, y) और offset_sdr हैं दोनों शून्य, लागू करने के तरीके को तय करते हैं.

उदाहरण के लिए, लागू करने की सुविधा ऐसे मामले को मैनेज कर सकती है जहां Ysdr(x, y) और pixel_gain(x, y) को 1.0 के तौर पर परिभाषित करके, offset_sdr दोनों शून्य हैं. इसके अलावा, लागू करने की प्रोसेस में, शून्य के अलावा किसी अन्य offset_sdr का इस्तेमाल किया जाता है. इससे ऐसी स्थिति से बचा जा सकता है.

लागू करने पर offset_sdr और offset_hdr की वैल्यू चुनी जा सकती है.

गेन मैप एक अदिश फ़ंक्शन है, जो pixel_gain(x, y) को लॉगारिद्मिक स्पेस, ज़्यादा से ज़्यादा कॉन्टेंट बूस्ट और कम से कम कॉन्टेंट बूस्ट के सापेक्ष:

map_min_log2 = log2(min_content_boost)
map_max_log2 = log2(max_content_boost)

log_recovery(x, y) = (log2(pixel_gain(x, y)) - map_min_log2)
                   / (map_max_log2 - map_min_log2)
clamped_recovery(x, y) = clamp(log_recovery(x, y), 0.0, 1.0)
recovery(x, y) = pow(clamped_recovery(x, y), map_gamma)

recovery(x, y) फ़ंक्शन का व्यवहार जहां pixel_gain(x, y) शून्य होता है लागू करने की प्रक्रिया परिभाषित की गई है, क्योंकि log2(0) के बारे में कोई जानकारी नहीं है.

map_gamma एक फ़्लोटिंग पॉइंट नंबर है, जो 0.0 से ज़्यादा होना चाहिए. साथ ही, यह इन्हें लागू करने पर चुना जाता है.

ज़्यादा से ज़्यादा कॉन्टेंट बूस्ट और कम से कम कॉन्टेंट बूस्ट के मान इस तरह हैं भी तय किया जा सकता है. साथ ही, इस पर कॉन्टेंट क्रिएटर सोच-समझकर फ़ैसला ले सकता है. कॉन्टेंट बूस्ट की ज़्यादा से ज़्यादा संख्या 1.0 या उससे ज़्यादा होनी चाहिए. कम से कम कॉन्टेंट बूस्ट को सेट करना ज़रूरी है (0.0, 1.0] की सीमा में होना चाहिए.

recovery(x, y) में मान [0.0, 1.0] की रेंज तक सीमित हैं.

गेन मैप को दूसरी इमेज JPEG में सेव किया जाता है, इसलिए इसे कोड में बदला जाना चाहिए इसमें 8-बिट, साइन नहीं की गई पूर्णांक वैल्यू का इस्तेमाल किया जाता है. इसलिए, [0, 255] की रेंज में होता है. हर वैल्यू recovery(x, y) वैल्यू दिखाता है और इसे सेकंडरी वैल्यू के एक पिक्सल में स्टोर किया जाता है इमेज.

साइन नहीं किए गए 8-बिट वाले पूर्णांक स्टोरेज के लिए, कोड में बदली गई वैल्यू को फ़ॉलो किया जा रहा है:

encoded_recovery(x, y) = floor(recovery(x, y) * 255.0 + 0.5)

एन्कोड फ़ंक्शन की गणना फ़्लोटिंग पॉइंट में की जाती है और फिर 8-बिट अहस्ताक्षरित पूर्णांक परिणाम की समाप्ति को इंगित करते हुए पूर्णांक में बदल दें.

इस एन्कोडिंग से, एक 8-बिट अहस्ताक्षरित पूर्णांक निरूपण मिलता है recovery(x, y) वैल्यू, 0.0 से 1.0 तक. कोड में बदला गया गेन मैप इसमें सेव होना चाहिए JPEG के तौर पर सेकंडरी इमेज आइटम. लागू करने की प्रक्रिया में यह चुना जाता है कि JPEG एन्कोडिंग के दौरान उपयोग करने के लिए संपीड़न.

गेन मैप को सेकंडरी इमेज में सेव करने के बाद, इसे प्राइमरी इमेज के साथ जोड़ दिया जाता है MPF और GContainer XMP मेटाडेटा वाली इमेज. मुख्य इमेज GContainer डायरेक्ट्री में गेन मैप इमेज के लिए एक आइटम होना चाहिए.

सेव किए गए गेन मैप का रिज़ॉल्यूशन, लागू करने के तरीके के हिसाब से तय किया जाता है. इसे जो मुख्य इमेज के रिज़ॉल्यूशन से अलग हो. इन केस में फ़ायदा मैप को मेमोरी के लिए प्राथमिक चित्र से किसी अलग रिज़ॉल्यूशन पर स्केल किया जाता है, सैंपलिंग का तरीका, दोलाइन या बेहतर होना चाहिए. साथ ही, इसे लागू करने के तरीके के बारे में बताया गया हो.

गेन मैप का ओरिएंटेशन, मुख्य इमेज के ओरिएंटेशन से मेल खाना चाहिए. अगर आपने सेव की गई गेन मैप इमेज में कोई भी ओरिएंटेशन मेटाडेटा मौजूद होगा, जैसा कि EXIF में है, का इस्तेमाल नहीं किया जाता.

अगर यह मौजूद है, तो गेन मैप की कलर प्रोफ़ाइल का इस्तेमाल नहीं किया जाता.

मैप कंटेनर पाएं

कलर प्रोफ़ाइल

चित्र की रंग प्रोफ़ाइल एक ICC प्रोफ़ाइल के माध्यम से मुख्य इमेज.

XMP एट्रिब्यूट

मुख्य इमेज में XMP मेटाडेटा होता है, जो अतिरिक्त वाली कम से कम दो इमेज को तय करता है एचडीआर गेन मैप फ़ॉर्मैट के लिए सिमैंटिक जानकारी.

नीचे दिए गए सब-सेक्शन में, इस फ़ॉर्मैट की खास जानकारी मौजूद है. अन्य जानकारी GContainer के सामान्य नियमों के पालन की जानकारी इसमें दी गई है Gकंटेनर की जानकारी सेक्शन में अपडेट किया जा सकता है.

नीचे दी गई टेबल में बताई गई विशेषता के मान XMP सामान्य के तौर पर सेव किए गए हैं XMP बेसिक वैल्यू टाइप की वैल्यू शामिल करें.

आइटम सिमैंटिक मान

Item:Semantic प्रॉपर्टी, ऐप्लिकेशन का खास मतलब बताती है कंटेनर डायरेक्ट्री में हर मीडिया आइटम की वैल्यू शामिल करें.

वैल्यू ब्यौरा
मुख्य इससे पता चलता है कि मीडिया आइटम मुख्य इमेज है, जो डिसप्ले के लिए तैयार है. कंटेनर में. डायरेक्ट्री में एक "प्राइमरी" प्रॉपर्टी होनी चाहिए आइटम.
गेनमैप इससे पता चलता है कि मीडिया आइटम एक गेन मैप है. डायरेक्ट्री में ये चीज़ें हो सकती हैं ज़्यादा से ज़्यादा एक "GainMap" आइटम.

एचडीआर गेन मैप मेटाडेटा

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

गेन मैप मेटाडेटा XMP एक्सटेंशन के लिए XMP नेमस्पेस यूआरआई http://ns.adobe.com/hdr-gain-map/1.0/. डिफ़ॉल्ट नेमस्पेस प्रीफ़िक्स है hdrgm.

यह मेटाडेटा गेन मैप इमेज के XMP पैकेट में और नीचे दिए गए प्रॉपर्टी, गेन मैप इमेज XMP के rdf:Description में दिखनी चाहिए:

नाम टाइप ब्यौरा
hdrgm:वर्शन टेक्स्ट गेन मैप फ़ॉर्मैट का इस्तेमाल किया जा रहा वर्शन. यह "1.0" वर्शन है. Required.
hdrgm:BaseRenditionIsHDR बूलियन मुख्य इमेज की डाइनैमिक रेंज दिखाता है. "गलत" यह बताता है कि मुख्य इमेज SDR है और गेन मैप को इसके साथ जोड़कर एचडीआर रेंडरिंग. "सही" इससे पता चलता है कि मुख्य इमेज एचडीआर और गेन मैप है एसडीआर रेंडर करने के लिए, इस ऑडियो को इसके साथ जोड़ा जा सकता है. "गलत" होना चाहिए. ज़रूरी नहीं; डिफ़ॉल्ट वैल्यू "False" है.
hdrgm:GainMapMin रीयल या ऑर्डर किए गए रीयल टाइम का कलेक्शन map_min_log2 की वैल्यू सेव करता है. यह है कम से कम कॉन्टेंट बूस्ट का log2, जो कम से कम तय अनुपात है लीनियर ल्यूमिनेंस (इस डेटा को अलग-अलग करके) के हिसाब से दिखाया गया है एसडीआर इमेज से दिखेगा. एक रीयल या रीयल के क्रम वाला अरे. रीयल के क्रम वाले अरे में, एक वैल्यू शामिल हो सकती है आइटम जो सभी चैनलों पर लागू होता है या लाल, हरे, और नीले चैनल. से कम या इसके बराबर होना चाहिए hdrgm:GainMapMax. ज़रूरी नहीं; डिफ़ॉल्ट वैल्यू 0.0 है.
hdrgm:GainMapMax रीयल या ऑर्डर किए गए रीयल टाइम का कलेक्शन map_max_log2 की वैल्यू सेव करता है. यह है कॉन्टेंट बूस्ट की ज़्यादा से ज़्यादा संख्या का log2, जो ज़्यादा से ज़्यादा अनुमत अनुपात है लीनियर ल्यूमिनेंस (अलग-अलग डाइमेंशन में) एसडीआर इमेज से दिखेगा. एक रीयल या रीयल के क्रम वाला अरे. रीयल के क्रम वाले अरे में, एक वैल्यू शामिल हो सकती है आइटम जो सभी चैनलों पर लागू होता है या लाल, हरे, और नीले चैनल. से ज़्यादा या इसके बराबर होना चाहिए hdrgm:GainMapMin. ज़रूरी है.
hdrgm:गामा रीयल या ऑर्डर किए गए रीयल टाइम का कलेक्शन map_gamma की वैल्यू सेव करता है. इस गामा से सेव किए गए मैप मानों पर लागू होता है. यह कोई एक वास्तविक या फिर इनका क्रमिक श्रेणी हो सकती है रीयल. रीयल के ऑर्डर वाला कलेक्शन, इसमें लागू होने वाला एक आइटम हो सकता है सभी चैनल या रेड, ग्रीन, और ब्लू चैनल के लिए तीन आइटम क्रम से. 0.0 से ज़्यादा होना चाहिए. ज़रूरी नहीं; डिफ़ॉल्ट मान है 1.0.
hdrgm:ऑफ़सेटSDR रीयल या ऑर्डर किए गए रीयल टाइम का कलेक्शन offset_sdr की वैल्यू सेव करता है. यह इसका ऑफ़सेट है गेन मैप जनरेट करने और उसे इस्तेमाल करने के दौरान, एसडीआर पिक्सल की वैल्यू पर लागू होता है. यह कोई एक रियाल या फिर रीयल का ऑर्डर वाला कलेक्शन हो सकता है. जब रीयल्स, इसमें एक ऐसा आइटम हो सकता है जो सभी चैनलों या तीन आइटम पर लागू होता है लाल, हरा, और नीला चैनलों के लिए क्रम से लगाया जा सकता है. 0.0 या इससे ज़्यादा होना चाहिए. ज़रूरी नहीं; डिफ़ॉल्ट वैल्यू 0.015625 (1/64) है.
hdrgm:ऑफ़सेटHDR रीयल या ऑर्डर किए गए रीयल टाइम का कलेक्शन offset_hdr की वैल्यू सेव करता है. यह इसका ऑफ़सेट है गेन मैप जनरेट करने और ऐप्लिकेशन बनाने के दौरान एचडीआर पिक्सल वैल्यू पर लागू होती है. यह कोई एक रियाल या फिर रीयल का ऑर्डर वाला कलेक्शन हो सकता है. जब रीयल्स, इसमें एक ऐसा आइटम हो सकता है जो सभी चैनलों या तीन आइटम पर लागू होता है लाल, हरा, और नीला चैनलों के लिए क्रम से लगाया जा सकता है. 0.0 या इससे ज़्यादा होना चाहिए. ज़रूरी नहीं; डिफ़ॉल्ट वैल्यू 0.015625 (1/64) है.
hdrgm:HDR कपैसिटीMin रीयल hdr_capacity_min की वैल्यू सेव करता है. यह है कम से कम डिसप्ले बूस्ट वैल्यू का log2, जिसके लिए मैप है बिलकुल लागू होगा. इस वैल्यू से इस बात पर भी असर पड़ता है कि गेन मैप को कितना लागू करना है डिसप्ले बूस्ट पर. 0.0 या इससे ज़्यादा होना चाहिए. ज़रूरी नहीं; डिफ़ॉल्ट वैल्यू 0.0 है.
hdrgm:HDRक्षमतामैक्स रीयल hdr_capacity_max की वैल्यू सेव करता है. यह है ज़्यादा से ज़्यादा डिसप्ले बूस्ट वैल्यू का log2 जिसके लिए मैप है पूरी तरह लागू. इस वैल्यू से इस बात पर भी असर पड़ता है कि गेन मैप को कितना लागू करना है के हिसाब से फ़िल्टर इस्तेमाल किया जा सकता है. से ज़्यादा होना चाहिए hdrgm:HDRCapacityMin. ज़रूरी है.

गेन मैप XMP का उदाहरण

गेन मैप के मान्य XMP पैकेट का यह उदाहरण दिया गया है, जिसमें लिया गया मेटाडेटा शामिल है शुरुआती जानकारी सेक्शन में बताई गई उदाहरण फ़ाइल से.

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="XMP Core 5.5.0">
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:Description rdf:about=""
     xmlns:hdrgm="http://ns.adobe.com/hdr-gain-map/1.0/"
     hdrgm:Version="1.0"
     hdrgm:GainMapMin="-0.57609993"
     hdrgm:GainMapMax="4.7090998"
     hdrgm:Gamma="1"
     hdrgm:OffsetSDR="0.015625"
     hdrgm:OffsetHDR="0.015625"
     hdrgm:HDRCapacityMin="0"
     hdrgm:HDRCapacityMax="4.7090998"
     hdrgm:BaseRenditionIsHDR="False"/>
  </rdf:RDF>
</x:xmpmeta>

गेन मैप का एमपीएफ़ स्टोरेज

गेन मैप इमेज को CIPA में बताई गई परिभाषा के अनुसार, एक अतिरिक्त इमेज के रूप में सेव किया जाना चाहिए DC-x 007-2009 मल्टी-पिक्चर फ़ॉर्मैट, जैसा कि डिपेंडेंसी सेक्शन.

डिकोड करें

इस सेक्शन में बताया गया है कि गेन मैप को सही JPEG फ़ाइल से कैसे डिकोड किया जाए.

फ़ॉर्मैट का सिग्नल

इस फ़ॉर्मैट के नियमों के मुताबिक JPEG फ़ाइल का पता लगाने के लिए, इनमें से किसी एक का इस्तेमाल किया जा सकता है मुख्य इमेज के XMP पैकेट में hdrgm:Version="1.0", जहां hdrgm नेमस्पेस यूआरआई http://ns.adobe.com/hdr-gain-map/1.0/.

गेन मैप इमेज ढूंढें

इमेज को पार्स और डिकोड करने के बारे में जानकारी के लिए, नीचे दिया गया GContainer देखें जानकारी सेक्शन में जाएं. "GainMap" XMP में सिमैंटिक आइटम गेन मैप इमेज की जगह के बारे में बताने के लिए, rdf:Directory का इस्तेमाल किया जाता है. इसके अलावा, एमपीएफ़ इंडेक्स आईएफ़डी और स्कैन की गई इमेज XMP का इस्तेमाल करके यह पता लगाया जाता है कि गेन मैप की जगह.

अमान्य मेटाडेटा को मैनेज करना

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

अगर अमान्य मेटाडेटा मिलता है, तो गेन मैप को अनदेखा करना चाहिए और एसडीआर को इमेज दिखाई जानी चाहिए.

डिसप्ले

एचडीआर गेन मैप फ़ॉर्मैट में कोड में बदली गई फ़ाइलें, इन दोनों में से किसी एक पर रेंडर हो सकती हैं कंवेंशनल एसडीआर डिसप्ले या बेहतर रोशनी वाले एचडीआर डिसप्ले आउटपुट.

गेन मैप का इस्तेमाल करके, अडैप्टेड एचडीआर रेंडरिंग बनाएं

इस सेक्शन में नीचे दी गई कैलकुलेशन, फ़्लोटिंग-पॉइंट अंकगणित पर आधारित हैं.

encoded_recovery(x, y), सिंगल-चैनल, 8-बिट, और बिना साइन वाले पूर्णांक की वैल्यू है गेन मैप इमेज से.

अगर गेन मैप का रिज़ॉल्यूशन मुख्य इमेज से अलग है, तो इसके बजाय, encoded_recovery(x, y) का पता लगाने के लिए, फ़िल्टर किए गए सैंपल का इस्तेमाल किया जाता है मुख्य इमेज की चौड़ाई और ऊंचाई की रेंज पर x और y के लिए मैप इमेज पाएं, क्रम से. फ़िल्टर करने का तरीका दोरेखीय या बेहतर होना चाहिए और लागू किया जाना तय किया गया है.

map_gamma को hdrgm:Gamma मेटाडेटा फ़ील्ड से तय किया जाता है.

log_recovery(x, y) एक सामान्य फ़्लोटिंग पॉइंट पिक्सल गेन है, जो लॉगारिद्मिक स्पेस:

recovery(x, y) = encoded_recovery(x, y) / 255.0
log_recovery(x, y) = pow(recovery(x, y), 1.0 / map_gamma)

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

hdr_capacity_max को hdrgm:HDRCapacityMax मेटाडेटा फ़ील्ड से तय किया जाता है. hdr_capacity_min को hdrgm:HDRCapacityMin मेटाडेटा फ़ील्ड से तय किया जाता है.

hdrgm:BaseRenditionIsHDR के होने पर, weight_factor का पता इस तरह से लगाया जाता है "गलत":

unclamped_weight_factor = (log2(max_display_boost) - hdr_capacity_min)
                        / (hdr_capacity_max - hdr_capacity_min)
weight_factor = clamp(unclamped_weight_factor, 0.0, 1.0)

जब hdrgm:BaseRenditionIsHDR "सही" होता है, तो दूसरा समीकरण यह होता है:

weight_factor = 1.0 - clamp(unclamped_weight_factor, 0.0, 1.0)

gain_map_max को hdrgm:GainMapMax मेटाडेटा फ़ील्ड से तय किया जाता है. gain_map_min को hdrgm:GainMapMin मेटाडेटा फ़ील्ड से तय किया जाता है. offset_sdr को hdrgm:OffsetSDR मेटाडेटा फ़ील्ड से तय किया जाता है. offset_hdr अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है hdrgm:OffsetHDR मेटाडेटा फ़ील्ड से तय होता है.

लीनियर फ़ॉर्मैट के एचडीआर वर्शन का हिसाब इस तरह से लगाया जा सकता है:

log_boost(x, y) = gain_map_min * (1.0f - log_recovery(x, y))
                + gain_map_max * log_recovery(x, y)
HDR(x, y) = (SDR(x, y) + offset_sdr) * exp2(log_boost(x, y) * weight_factor)
          - offset_hdr

ज़रूरत पड़ने पर, लागू करने की प्रोसेस HDR(x, y) में ट्रांसफ़ॉर्म लागू कर सकती है, ताकि डिसप्ले के उम्मीद के मुताबिक स्पेस में डेटा. ऐसे सभी बदलाव वर्णात्मक रूप से सही.

कंटेनर की जानकारी

इस सेक्शन में दूसरी ज़रूरी शर्तों के बारे में बताया गया है. जैसे, यह फ़ॉर्मैट, GContainer एक्सएमएल मेटाडेटा के साथ. मेटाडेटा को ISO के मुताबिक क्रम से लगाया गया है 166841:2011(E) XMP स्पेसिफ़िकेशन का पार्ट 1 और एम्बेड किया गया जैसा कि Adobe XMP स्पेसिफ़िकेशन भाग 3 में बताया गया है" Files का स्टोरेज. मुख्य इमेज फ़ाइल में नीचे दिए गए आइटम, आरडीएफ़/एक्सएमएल के तौर पर फ़ॉर्मैट किए गए.

XMP पैकेट की ज़रूरी शर्तें

XMP पैकेट में नेमस्पेस यूआरआई http://ns.adobe.com/hdr-gain-map/1.0/. डिफ़ॉल्ट नेमस्पेस उपसर्ग hdrgm है.

XMP पैकेट में hdrgm:Version="1.0" की जानकारी दी जाएगी.

कंटेनर एलिमेंट

GContainer XMP एक्सटेंशन के लिए XMP नेमस्पेस यह है http://ns.google.com/photos/1.0/container/. डिफ़ॉल्ट नेमस्पेस प्रीफ़िक्स है Container.

मुख्य इमेज में XMP मेटाडेटा में Container:Directory एलिमेंट शामिल है फ़ाइल में बाद की मीडिया फ़ाइल का क्रम और प्रॉपर्टी तय करना कंटेनर. कंटेनर की हर फ़ाइल में, Container:Directory. मीडिया आइटम, फ़ाइल में मौजूद जगह के बारे में बताता है कंटेनर और बनाई गई हर फ़ाइल की बुनियादी प्रॉपर्टी के बारे में भी बताएं.

कंटेनर एलिमेंट को मुख्य इमेज के XMP मेटाडेटा में एन्कोड किया जाता है और कंटेनर में मीडिया आइटम की डायरेक्ट्री के बारे में बताता है. मीडिया आइटम मौजूद होने चाहिए कंटेनर फ़ाइल में उसी क्रम में होना चाहिए जिसमें मीडिया आइटम के एलिमेंट होनी चाहिए और उसे अच्छी तरह से पैक किया जाना चाहिए.

इस डायरेक्ट्री में सिर्फ़ एक "मुख्य" प्रॉपर्टी हो सकती है चित्र आइटम और यह पहला होना चाहिए आइटम को डायरेक्ट्री में डालें.

एलिमेंट का नाम टाइप ब्यौरा
कंटेनर:डायरेक्ट्री स्ट्रक्चर का ऑर्डर वाला कलेक्शन अलग-अलग क्रम में लगे सभी निर्देशों का कलेक्शन, जिनमें Container:Item है कंटेनर के लेआउट और कॉन्टेंट को परिभाषित करने वाला ढांचा.

आइटम का एलिमेंट

आइटम के एलिमेंट बताते हैं कि ऐप्लिकेशन में हर मीडिया आइटम का इस्तेमाल कैसे किया जाता है.

GContainer आइटम XMP एक्सटेंशन के लिए XMP नेमस्पेस यूआरआई http://ns.google.com/photos/1.0/container/item/. डिफ़ॉल्ट नेमस्पेस प्रीफ़िक्स Item है.

पहला मीडिया आइटम, मुख्य इमेज होना चाहिए.इसमें Item:Semantic = "Primary" और Item:Mime की जानकारी देनी होगी, जो आइटम के MIME टाइप की वैल्यू.

मुख्य इमेज आइटम की लंबाई, मुख्य इमेज को पार्स करके तय की जाती है फ़ाइल कंटेनर की शुरुआत में, इसके एमआईएमई टाइप के हिसाब से इमेज अपलोड की जाती है.

मीडिया आइटम में एक Item:Padding एट्रिब्यूट हो सकता है, जिसमें अन्य मीडिया आइटम के अंत और अगले मीडिया की शुरुआत के बीच की पैडिंग आइटम. जब Container:Directory में आखिरी मीडिया आइटम पर मौजूद हो, Item:Padding आइटम के अंत और आइटम के अंत के बीच की पैडिंग को दिखाता है फ़ाइल से लिए जाते हैं.

हर मीडिया आइटम में Item:Mime टाइप और Item:Semantic एट्रिब्यूट होने चाहिए. सेकंडरी इमेज मीडिया आइटम में Item:Length एट्रिब्यूट होने चाहिए.

क्रम में चलने वाले मीडिया आइटम, फ़ाइल कंटेनर में संसाधन का डेटा शेयर कर सकते हैं. कॉन्टेंट बनाने पहला मीडिया आइटम, फ़ाइल कंटेनर में संसाधन की जगह तय करता है, और इसके बाद शेयर किए गए मीडिया आइटम का Item:Length 0 पर सेट है. ऐसे मामले में संसाधन डेटा खुद एक कंटेनर होता है. Item:URI का इस्तेमाल करके संसाधन में मीडिया आइटम के डेटा की जगह.

कंटेनर में मीडिया आइटम के संसाधनों की जगह, योग को जोड़कर तय की जाती है मुख्य इमेज एन्कोडिंग की लंबाई, Item:Length पिछले सेकंडरी मीडिया आइटम रिसॉर्स और सभी पिछले Item:Padding वैल्यू. मीडिया आइटम रिसॉर्स पर Item:Padding को शून्य माना जाता है उसका मान तय करें.

विशेषता नाम टाइप ब्यौरा
आइटम:माइम टेक्स्ट इसमें दी गई सामान्य स्ट्रिंग, जो मीडिया आइटम के MIME टाइप को दिखाती है कंटेनर. परिभाषा के लिए, आइटम के MIME टाइप की वैल्यू का सेक्शन देखें. Required.
आइटम:अर्थ: टेक्स्ट ऐप्लिकेशन के अलग-अलग मतलब बताने वाली सामान्य स्ट्रिंग आइटम. परिभाषा के लिए, आइटम सिमैंटिक वैल्यू वाला सेक्शन देखें. Required.
आइटम:लंबाई पूर्णांक सामान्य स्ट्रिंग, जिसमें आइटम की लंबाई वाले बाइट में पॉज़िटिव पूर्णांक मौजूद होता है. लंबाई 0 का मतलब है कि मीडिया आइटम संसाधन को पिछली इमेज के साथ शेयर किया गया है मीडिया आइटम. सेकंडरी मीडिया आइटम के लिए ज़रूरी है. प्राथमिक इमेज मीडिया आइटम.
आइटम:लेबल टेक्स्ट लागू करने के लिए तय की गई स्ट्रिंग, जिसका इस्तेमाल एक से ज़्यादा आइटम को साफ़ तौर पर दिखाने के लिए किया जाता है एक जैसे Item:Semantic वाले एलिमेंट. ज़रूरी नहीं.
आइटम:पैडिंग पूर्णांक अतिरिक्त बाइट में धनात्मक पूर्णांक लंबाई वाली स्ट्रिंग मीडिया आइटम के अंत और अगले मीडिया आइटम की शुरुआत के बीच की पैडिंग मीडिया आइटम या फ़ाइल का अंत Container:Directory. मौजूद न होने पर, वैल्यू को 0 माना जाता है. ज़रूरी नहीं.
आइटम:यूआरआई टेक्स्ट आईएसओ/आईईसी 14496-12 सेक्शन 8.11.9 के मुताबिक यूआरआई स्ट्रिंग, जिसमें मीडिया आइटम संसाधन में मीडिया डेटा का रिलेटिव यूआरआई. डिफ़ॉल्ट है मुख्य इमेज संसाधन है. ISO बेस मीडिया फ़ाइल फ़ॉर्मैट ISO/IEC 14496-12 MIME टाइप के लिए ज़रूरी नहीं है. इसे किसी और तरीके से इस्तेमाल नहीं किया जा सकता.

आइटम के MIME टाइप की वैल्यू

Item:Mime एट्रिब्यूट, हर मीडिया आइटम के MIME टाइप के बारे में बताता है डेटा शामिल है.

वैल्यू ब्यौरा
इमेज/jpeg JPEG इमेज.

GContainer XMP का उदाहरण

नीचे दिए गए एक मान्य GContainer XMP पैकेट के मेटाडेटा से लिया गया है उदाहरण के लिए, परिचय सेक्शन में बताई गई फ़ाइल.

<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.1.2">
  <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
    <rdf:Description
     xmlns:Container="http://ns.google.com/photos/1.0/container/"
     xmlns:Item="http://ns.google.com/photos/1.0/container/item/"
     xmlns:hdrgm="http://ns.adobe.com/hdr-gain-map/1.0/"
     hdrgm:Version="1.0">
      <Container:Directory>
        <rdf:Seq>
          <rdf:li rdf:parseType="Resource">
            <Container:Item
             Item:Semantic="Primary"
             Item:Mime="image/jpeg"/>
          </rdf:li>
          <rdf:li rdf:parseType="Resource">
            <Container:Item
             Item:Semantic="GainMap"
             Item:Mime="image/jpeg"
             Item:Length="66171"/>
          </rdf:li>
        </rdf:Seq>
      </Container:Directory>
    </rdf:Description>
  </rdf:RDF>
</x:xmpmeta>