क्या जेपीईजी एन्कोडिंग को गामा को ध्यान में रखना चाहिए?


11

जब कोई छवि JPEG के उपयोग से एन्कोड की जाती है, तो RGB पिक्सल को पहले YUV में एन्कोड किया जाता है, और फिर UV चैनल को डाउनस्क्रम्प किया जाता है। वास्तव में डीसीटी करने और गुणांक को एन्कोडिंग करने से पहले, जेपीईजी गामा को वाई चैनल को सही नहीं करता है । क्या ये सही है? क्या हमें DCT गुणांक का निर्धारण नहीं करना चाहिए जो हमारे देखे गए परिणाम को प्रभावित करेगा?


मैं नहीं जानता, लेकिन यह निश्चित रूप से सही करने के लिए समझ में नहीं आता है।
पूजा

मैं इसे उत्तर के रूप में पोस्ट नहीं कर रहा हूं क्योंकि मैं इसमें आश्वस्त नहीं हूं, लेकिन मानव दृष्टि की चमक की धारणा रैखिक नहीं है । वास्तव में, sRGB उस क्षेत्र के लिए क्षतिपूर्ति करने और उस मामले में सबसे अधिक सटीकता देने का एक बहुत अच्छा काम करता है। तो आपको लग सकता है कि लू लगने से पहले सही होने वाला गामा वास्तव में बदतर परिणाम दे सकता है।
युरिक्स

AFAIK, वीडियो मानक R'G'B 'मानते हैं, अर्थात। एक गैर-रैखिक रंग स्थान, जब 3x3 रंग को लागू करता है YCbCr से / से। वीडियो जैसे एप्लिकेशन में जहां कोई प्रति बिट गुणवत्ता अधिकतम करना चाहता है, यह रैखिक का उपयोग करने के लिए समझ में नहीं आता है। मुझे लगता है कि चार्ल्स पॉटन के कलर एफएक्यू के सेक्शन 27 और 29 इसे और अधिक स्पष्ट रूप से व्यक्त करते हैं: poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC27
साइमन एफ

"वीडियो विध्वंसक" यह भी कहता है: "YCbCr मूल रूप से BT.601 द्वारा परिभाषित रंग स्थान है, और अब सभी डिजिटल घटक वीडियो प्रारूपों के लिए उपयोग किया जाता है। .... सभी तीन घटकों के बाद तकनीकी रूप से सही संकेतन Y'Cb'Cr 'है। R'G'B 'से ​​लिया गया। "
साइमन एफ

गामा एक्सपोनेंट को जेपीईजी एक्सिफ डेटा में संग्रहित किया जाता है। अधिकांश सॉफ्टवेयर इसे पूरी तरह से अनदेखा करते हैं। लेकिन आप एक जेपीईजी को पहले से ही गामा स्थान में डिकोड करने के बाद मान सकते हैं ताकि डिस्प्ले बफर पर आरजीबी मूल्य भेजने से पहले कोई रूपांतरण न हो।
v.oddou

जवाबों:


2

विकिपीडिया के अनुसार (मानक अस्वीकरण आरई सटीकता डालें):

JPEG परिभाषित नहीं करता है कि छवियों के लिए कौन सा रंग एन्कोडिंग का उपयोग किया जाना है। JFIF रंग मॉडल का उपयोग करने के लिए परिभाषित करता है: या तो Greyscale के लिए Y, या YCbCr के रूप में IAS 601 द्वारा परिभाषित किया गया है।

YCbCr एक गैर-रेखीय प्रारूप है। जैसा कि मैंने पहले बताया, "वीडियो डीमिस्टिफ़ाइड" कहता है:

"YCbCr मूल रूप से BT.601 द्वारा परिभाषित रंग स्थान है, और अब इसका उपयोग सभी डिजिटल घटक वीडियो प्रारूपों के लिए किया जाता है। .... तकनीकी रूप से सही अंकन Y'Cb'Cr 'है क्योंकि सभी तीन घटक R'G'B से प्राप्त किए गए हैं। '। "

और चार्ल्स 'Poynton का रंग पूछे जाने वाले प्रश्न राज्यों

वीडियो सिस्टम R'G'B 'संकेतों का उपयोग करते हुए दृष्टि की लपट की प्रतिक्रिया का अनुमान लगाते हैं जो प्रत्येक 0.45 शक्ति फ़ंक्शन के अधीन हैं।

संपीड़न के साथ हम बिट और प्रति सबसे अच्छा दृश्य प्रतिनिधित्व के बाद हैं, क्योंकि आंख लगभग इस तरह से गैर-रैखिक है, यह गैर-रैखिक प्रतिनिधित्व का उपयोग करने के लिए समझ में आता है।


इन विवरणों से, जैसा कि मैं इसे समझता हूं, जेपीईजी को उम्मीद है कि इनपुट आरजीबी मूल्यों को इस तरह से एनकोड किया जाएगा कि डिस्प्ले पर एक पावर फंक्शन लागू होगा। उन विशिष्ट RGB मानों को फिर से बनाने के लिए, उन्हें एन्कोडिंग से पहले ठीक नहीं किया जाना चाहिए ।
मोकोशा

1
इसे इस तरह बताते हुए परेशानी यह है कि यह थोड़ा अस्पष्ट है। हमें शायद यह बताना चाहिए कि यदि आपका "RGB" डेटा वास्तव में, R'G'B 'है (और मान लें कि sRGB उस श्रेणी में आता है) तो आप R'G'B को लागू करने से पहले मानों को संशोधित नहीं करना चाहिए। => YCbCr मैट्रिक्स। यदि, हालांकि, डेटा, एक रेंडरर (इसलिए संभवतः रैखिक) के साथ गणना की गई है, तो डाउनस्कूलिंग (जिसे रैखिक स्थान में किया जाना चाहिए) का उपयोग करके संसाधित किया गया है या, एक सीसीडी के साथ (और साफ किया) पर कब्जा कर लिया (जो कि मैं) लगता है कि रैखिक है), तो इसे जेपीईजी संपीड़न से पहले फिर से तैयार करना होगा।
साइमन एफ

7

लघु उत्तर "नहीं" है, जो अल्वी रे स्मिथ के मेमो, गामा सुधार में शामिल कारणों के लिए है । गामा मानव धारणा में ग़ैरबराबरी के बारे में नहीं है, यह प्रदर्शन उपकरणों में ग़ैर-क़ानूनीता के बारे में है (और, मुझे लगता है, अधिग्रहण उपकरण)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.