AV1 बनाम h265 (HEVC) बनाम VP9: इन संपीड़न मानकों में क्या अंतर है?

AV1 बनाम h265 (HEVC) बनाम VP9: इन संपीड़न मानकों में क्या अंतर है?
आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं। अधिक पढ़ें।

4K में स्ट्रीमिंग नया मानदंड है, लेकिन हर 16 मिलीसेकंड में 8.2 मिलियन से अधिक पिक्सेल की जानकारी के साथ-इंटरनेट पर 4K वीडियो को स्टोर करना और प्रसारित करना कोई आसान काम नहीं है।





असम्पीडित होने पर दो घंटे की एक फिल्म 1.7 टेराबाइट्स स्टोरेज से अधिक हो जाएगी। तो, YouTube और Netflix जैसे स्ट्रीमिंग दिग्गज कैसे वीडियो को स्टोर और स्ट्रीम करने का प्रबंधन करते हैं जो इतना स्थान लेता है?





दिन का वीडियो

ठीक है, वे नहीं करते क्योंकि वे फिल्मों के आकार को कम करने के लिए वीडियो कोडेक का उपयोग करते हैं, लेकिन वीडियो कोडेक क्या है, और कौन सा सबसे अच्छा है?





एक वीडियो कोडेक क्या है?

वीडियो कोडेक्स की जटिलताओं में गहराई से गोता लगाने से पहले, यह समझना महत्वपूर्ण है कि वीडियो कैसे बनाया जाता है। सीधे शब्दों में कहें, वीडियो और कुछ नहीं बल्कि स्थिर छवियों का एक सेट है जो एक दूसरे को जल्दी से बदल देता है।

  कंप्यूटर पर चलने वाला वीडियो एडिटिंग सॉफ्टवेयर

इस उच्च बदलते वेग के कारण, मानव मस्तिष्क सोचता है कि चित्र चल रहे हैं, जिससे वीडियो देखने का भ्रम पैदा होता है। इसलिए, 4K में वीडियो देखते समय, आप केवल 2160x3840 के रिज़ॉल्यूशन वाली छवियों का एक सेट देख रहे हैं। छवियों का यह उच्च रिज़ॉल्यूशन एक शानदार वीडियो अनुभव प्रदान करने के लिए 4K में वीडियो शूट करने में सक्षम बनाता है। उस ने कहा, छवियों का यह उच्च रिज़ॉल्यूशन वीडियो के आकार को बढ़ाता है, जिससे इंटरनेट जैसे सीमित बैंडविड्थ वाले चैनलों पर स्ट्रीम करना असंभव हो जाता है।



इस समस्या को हल करने के लिए हमारे पास वीडियो कोडेक्स हैं। कोडर / डिकोडर या संपीड़न / डिकंप्रेशन के लिए लघु, एक वीडियो कोडेक छवियों की धारा को डेटा के बिट्स में संपीड़ित करता है। यह संपीड़न या तो वीडियो की गुणवत्ता को कम कर सकता है या उपयोग किए गए संपीड़न एल्गोरिदम के आधार पर इसका कोई प्रभाव नहीं पड़ता है।

जैसा कि नाम से पता चलता है, एक कोडेक में कम्प्रेशन बिट प्रत्येक छवि के आकार को कम करता है। ऐसा ही करने के लिए, कम्प्रेशन एल्गोरिद्म मानव आंखों की बारीकियों का फायदा उठाता है—लोगों को यह जानने से रोकता है कि जो वीडियो वे देखते हैं वे कंप्रेस्ड हैं।





विसंपीड़न, इसके विपरीत, विपरीत तरीके से काम करता है और संपीड़ित जानकारी का उपयोग करके वीडियो प्रस्तुत करता है।

हालाँकि जब जानकारी को कंप्रेस करने की बात आती है तो कोडेक्स बहुत अच्छा काम करते हैं, वही प्रदर्शन करना आपके CPU के लिए कठिन हो सकता है। इसके कारण, जब आप अपने सिस्टम पर वीडियो कंप्रेशन एल्गोरिदम चलाते हैं तो सिस्टम के प्रदर्शन में उतार-चढ़ाव देखना सामान्य है।





  iPad पर चलने वाला वीडियो संपादन एप्लिकेशन

इस समस्या को हल करने के लिए, सीपीयू और जीपीयू विशेष हार्डवेयर के साथ आते हैं जो इन संपीड़न एल्गोरिदम को चला सकते हैं। समर्पित हार्डवेयर वीडियो कोडेक्स को संसाधित करते समय कार्यकुशलता में सुधार करते हुए सीपीयू को कार्यों को करने में सक्षम बनाता है।

वीडियो कोडेक कैसे काम करता है?

अब जब हमें वीडियो कोडेक की बुनियादी समझ हो गई है, तो हम देख सकते हैं कि कोडेक कैसे काम करता है।

क्रोमा सबसैंपलिंग

जैसा कि पहले बताया गया है, वीडियो छवियों से बने होते हैं, और क्रोमा सबसैंपलिंग प्रत्येक छवि में जानकारी को कम कर देता है। ऐसा करने के लिए, यह प्रत्येक छवि में निहित रंग जानकारी को कम कर देता है, लेकिन रंग जानकारी में यह कमी मानव आँख द्वारा कैसे पता लगाई जाती है?

ठीक है, आप देखते हैं, मानव आँखें चमक में परिवर्तन का पता लगाने में महान हैं, लेकिन रंगों के बारे में ऐसा नहीं कहा जा सकता है। ऐसा इसलिए है क्योंकि शंकु (रंगों को अलग करने के लिए जिम्मेदार फोटोरिसेप्टर कोशिकाएं) की तुलना में मानव आंखों में अधिक छड़ें (चमक में परिवर्तन का पता लगाने के लिए जिम्मेदार फोटोरिसेप्टर कोशिकाएं) होती हैं। छड़ और शंकु में अंतर संकुचित और असम्पीडित छवियों की तुलना करते समय आंखों को रंग परिवर्तन का पता लगाने से रोकता है।

  क्रोमा सबसैंपलिंग का उपयोग करके विभिन्न स्तरों के पीएफ वीडियो संपीड़न
छवि क्रेडिट: अंग्रेजी विकिपीडिया/विकिमीडिया कॉमन्स पर जंके

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

अनावश्यक फ़्रेम जानकारी निकालना

वीडियो छवियों के कई फ़्रेमों से बने होते हैं, और ज्यादातर मामलों में, इन सभी फ़्रेमों में समान जानकारी होती है। उदाहरण के लिए, एक ऐसे वीडियो की कल्पना करें जिसमें एक व्यक्ति एक निश्चित पृष्ठभूमि में बोल रहा हो। ऐसे में वीडियो के सभी फ्रेम्स का कंपोज़िशन एक जैसा है। इसलिए वीडियो को रेंडर करने के लिए सभी छवियों की आवश्यकता नहीं है। हमें केवल एक आधार चित्र की आवश्यकता होती है जिसमें एक फ्रेम से दूसरे फ्रेम में जाने पर परिवर्तन से संबंधित सभी जानकारी और डेटा शामिल हो।

इसलिए, वीडियो के आकार को कम करने के लिए, संपीड़न एल्गोरिथ्म वीडियो फ्रेम को I और P फ्रेम (पूर्वानुमानित फ्रेम) में विभाजित करता है। यहाँ I फ्रेम जमीनी सच्चाई हैं और P फ्रेम बनाने के लिए उपयोग किए जाते हैं। P फ़्रेम को I फ़्रेम में जानकारी और उस विशेष फ़्रेम के लिए परिवर्तन जानकारी का उपयोग करके प्रस्तुत किया जाता है। इस पद्धति का उपयोग करते हुए, एक वीडियो को I फ्रेम्स के एक सेट में विभाजित किया जाता है, जो वीडियो को और कंप्रेस करते हुए P फ्रेम्स में इंटरलीव किया जाता है।

गति संपीड़न

अब जब हमने वीडियो को I और P फ्रेम में तोड़ दिया है, तो हमें मोशन कम्प्रेशन को देखने की जरूरत है। वीडियो कम्प्रेशन एल्गोरिथम का एक हिस्सा जो I फ्रेम का उपयोग करके P फ्रेम बनाने में मदद करता है। ऐसा करने के लिए, कम्प्रेशन एल्गोरिथम I फ्रेम को मैक्रो-ब्लॉक के रूप में जाने वाले ब्लॉक में तोड़ देता है। इन ब्लॉकों को तब मोशन वैक्टर दिए जाते हैं जो उस दिशा को परिभाषित करते हैं जिसमें ये ब्लॉक एक फ्रेम से दूसरे फ्रेम में संक्रमण करते समय चलते हैं।

विंडोज़ डिवाइस के साथ संचार नहीं कर सकता
  गेमप्ले इमेज पर मोशन वैक्टर
इमेज क्रेडिट: ब्लेंडर फाउंडेशन/ विकिमीडिया कॉमन्स

प्रत्येक ब्लॉक के लिए यह गति जानकारी वीडियो संपीड़न एल्गोरिदम को आगामी फ्रेम में प्रत्येक ब्लॉक के स्थान की भविष्यवाणी करने में सहायता करती है।

उच्च-आवृत्ति छवि डेटा निकालना

रंग डेटा में परिवर्तन की तरह ही, मानव आँख किसी छवि में उच्च-आवृत्ति वाले तत्वों में सूक्ष्म परिवर्तनों का पता नहीं लगा सकती है, लेकिन उच्च-आवृत्ति वाले तत्व क्या हैं? ठीक है, आप देखते हैं, आपकी स्क्रीन पर प्रदान की गई छवि में कई पिक्सेल होते हैं, और इन पिक्सेल के मान प्रदर्शित होने वाली छवि के आधार पर बदलते हैं।

चित्र के कुछ क्षेत्रों में, पिक्सेल मान धीरे-धीरे बदलते हैं, और ऐसे क्षेत्रों को कम आवृत्ति वाला कहा जाता है। दूसरी ओर, यदि पिक्सेल डेटा में तेजी से परिवर्तन होता है, तो क्षेत्र को उच्च-आवृत्ति वाले डेटा के रूप में वर्गीकृत किया जाता है। वीडियो संपीड़न एल्गोरिदम उच्च आवृत्ति घटक को कम करने के लिए असतत कोसाइन रूपांतरण का उपयोग करते हैं।

यहाँ दिया गया है कि यह कैसे काम करता है। सबसे पहले, डीसीटी एल्गोरिथ्म प्रत्येक मैक्रो-ब्लॉक पर चलता है और फिर उन क्षेत्रों का पता लगाता है जहां पिक्सेल की तीव्रता में परिवर्तन बहुत तेजी से होता है। यह तब इन डेटा बिंदुओं को छवि से हटा देता है - वीडियो के आकार को कम करता है।

एन्कोडिंग

अब जबकि वीडियो की सभी अनावश्यक जानकारी हटा दी गई है, हम डेटा के शेष बिट्स को स्टोर कर सकते हैं। ऐसा करने के लिए, वीडियो कंप्रेशन एल्गोरिथम हफ़मैन एन्कोडिंग जैसी एन्कोडिंग योजना का उपयोग करता है, जो सभी डेटा बिट्स को एक फ्रेम में वीडियो में आने की संख्या से जोड़ता है और फिर उन्हें पेड़ की तरह फैशन में जोड़ता है। यह एन्कोडेड डेटा एक सिस्टम पर संग्रहीत होता है, जिससे यह वीडियो को आसानी से प्रस्तुत करने में सक्षम होता है।

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