FMUSER वायुहीन प्रसारण वीडियो और ऑडियो अधिक आसान!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> अफ्रीकी
sq.fmuser.org -> अल्बानियाई
ar.fmuser.org -> अरबी
hy.fmuser.org -> अर्मेनियाई
az.fmuser.org -> अजरबैजानी
eu.fmuser.org -> बास्क
be.fmuser.org -> बेलारूसी
bg.fmuser.org -> बल्गेरियाई
ca.fmuser.org -> कातालान
zh-CN.fmuser.org -> चीनी (सरलीकृत)
zh-TW.fmuser.org -> चीनी (पारंपरिक)
hr.fmuser.org -> क्रोएशियाई
cs.fmuser.org -> चेक
da.fmuser.org -> डेनिश
nl.fmuser.org -> डच
et.fmuser.org -> एस्टोनियाई
tl.fmuser.org -> फिलिपिनो
fi.fmuser.org -> फिनिश
fr.fmuser.org -> फ्रेंच
gl.fmuser.org -> गैलिशियन्
ka.fmuser.org -> जॉर्जियाई
de.fmuser.org -> जर्मन
el.fmuser.org -> यूनानी
ht.fmuser.org -> हाईटियन क्रियोल
iw.fmuser.org -> हिब्रू
hi.fmuser.org -> हिन्दी
hu.fmuser.org -> हंगेरी
is.fmuser.org -> आइसलैंड का
id.fmuser.org -> इन्डोनेशियाई
ga.fmuser.org -> आयरिश
it.fmuser.org -> इतालवी
ja.fmuser.org -> जापानी
ko.fmuser.org -> कोरियाई
lv.fmuser.org -> लातवियाई
lt.fmuser.org -> लिथुआनियाई
mk.fmuser.org -> मकदूनियाई
ms.fmuser.org -> मलय
mt.fmuser.org -> माल्टीज
no.fmuser.org -> नार्वेजियन
fa.fmuser.org -> फारसी
pl.fmuser.org -> पॉलिश
pt.fmuser.org -> पुर्तगाली
ro.fmuser.org -> रोमानियाई
ru.fmuser.org -> रूसी
sr.fmuser.org -> सर्बियाई
sk.fmuser.org -> स्लोवाक
sl.fmuser.org -> स्लोवेनियाई
es.fmuser.org -> स्पेनिश
sw.fmuser.org -> स्वाहिली
sv.fmuser.org -> स्वीडिश
th.fmuser.org -> थाई
tr.fmuser.org -> तुर्की
uk.fmuser.org -> यूक्रेनी
ur.fmuser.org -> उर्दू
vi.fmuser.org -> वियतनामी
cy.fmuser.org -> वेल्श
yi.fmuser.org -> येहुदी
प्रस्तावना
H264 वीडियो संपीड़न एल्गोरिथ्म अब निस्संदेह सबसे व्यापक रूप से उपयोग किया जाता है और सभी वीडियो संपीड़न तकनीकों का सबसे लोकप्रिय है। ओपन सोर्स लाइब्रेरी जैसे x264 / openh264 और ffmpeg की शुरुआत के साथ, अधिकांश उपयोगकर्ताओं को अब H264 के विवरण पर बहुत अधिक शोध करने की आवश्यकता नहीं है, जो H264 का उपयोग करके लोगों की लागत को बहुत कम कर देता है।
लेकिन H264 का अच्छा उपयोग करने के लिए, हमें अभी भी H264 के मूल सिद्धांतों का पता लगाना है। आज हम H264 के मूल सिद्धांतों पर एक नज़र डालेंगे।
H264 अवलोकन
H264 संपीड़न तकनीक मुख्य रूप से वीडियो डेटा को संपीड़ित करने के लिए निम्न विधियों का उपयोग करती है। शामिल:
इंट्रा-फ्रेम भविष्यवाणी संपीड़न स्थानिक डेटा अतिरेक की समस्या को हल करता है।
इंटर-फ्रेम भविष्यवाणी संपीड़न (गति अनुमान और मुआवजा) समय-डोमेन डेटा अतिरेक की समस्या को हल करता है।
इंटेगर डिस्क्रीट कोसाइन ट्रांसफॉर्म (डीसीटी), जो आवृत्ति डोमेन में स्थानिक सहसंबंध को अप्रासंगिक डेटा में बदल देता है और फिर इसकी मात्रा निर्धारित करता है।
CABAC संपीड़न।
संकुचित फ्रेम में विभाजित है: मैं फ्रेम, पी फ्रेम और बी फ्रेम:
मैं फ्रेम: मुख्य फ्रेम, इंट्रा-फ्रेम संपीड़न तकनीक का उपयोग कर।
पी फ्रेम: आगे संदर्भ फ्रेम, जब संपीड़ित करना, केवल पहले से संसाधित फ्रेम को देखें। फ़्रेम ऑडियो संपीड़न तकनीक का उपयोग करें।
बी फ्रेम: एक द्विदिश संदर्भ फ्रेम। संपीड़न के दौरान, यह पिछले फ्रेम और निम्न फ्रेम को संदर्भित करता है। अंतर-फ्रेम संपीड़न तकनीक का उपयोग करना।
I / P / B फ़्रेम के अतिरिक्त, चित्र अनुक्रम GOP भी हैं।
GOP: दो I फ़्रेमों के बीच एक छवि अनुक्रम है, और एक छवि अनुक्रम में केवल एक I फ्रेम है। जैसा की नीचे दिखाया गया:
अब हम H264 संपीड़न तकनीक का विस्तार से वर्णन करेंगे।
H264 संपीड़न प्रौद्योगिकी
H264 का मूल सिद्धांत वास्तव में बहुत सरल है, आइए संक्षेप में H264 डेटा को संपीड़ित करने की प्रक्रिया का वर्णन करें। कैमरे द्वारा कैप्चर किए गए वीडियो फ्रेम (30 फ्रेम प्रति सेकंड की गणना) को H264 एनकोडर के बफर में भेजा जाता है। एनकोडर को प्रत्येक चित्र के लिए पहले मैक्रोब्लॉक को विभाजित करना होगा।
एक उदाहरण के रूप में निम्नलिखित चित्र लें:
विभाजन macroblock
H264 डिफ़ॉल्ट रूप से मैक्रो ब्लॉक के रूप में 16X16 क्षेत्र का उपयोग करता है, और इसे 8X8 आकार में भी विभाजित किया जा सकता है।
मैक्रो ब्लॉक को विभाजित करने के बाद, मैक्रो ब्लॉक के पिक्सेल मूल्य की गणना करें।
सादृश्य से, एक छवि में प्रत्येक macroblock के पिक्सेल मूल्य की गणना की जाती है, और सभी macroblock को निम्नानुसार संसाधित किया जाता है।
उप-ब्लॉक
H264 अपेक्षाकृत सपाट छवियों के लिए 16X16 macroblocks का उपयोग करता है। हालांकि, एक उच्च संपीड़न दर प्राप्त करने के लिए, छोटे उप-ब्लॉकों को 16X16 मैक्रोब्लॉक में भी विभाजित किया जा सकता है। उप-ब्लॉक का आकार 8X16, 16X8, 8X8, 4X8, 8X4, 4X4 हो सकता है, जो बहुत लचीला है।
ऊपर की तस्वीर में, लाल फ्रेम में 16X16 मैक्रोब्लॉक में से अधिकांश में एक नीली पृष्ठभूमि है, और तीन ईगल्स की छवि का हिस्सा इस मैक्रोब्लॉक में खींचा गया है। तीन ईगल्स की आंशिक छवियों को बेहतर तरीके से संसाधित करने के लिए, H264 मल्टीपल सब-ब्लॉक 16X16 मैक्रोब्लॉक में विभाजित हैं।
इस तरह, इंट्रा-फ्रेम संपीड़न के बाद, अधिक कुशल डेटा प्राप्त किया जा सकता है। नीचे दिया गया आंकड़ा क्रमशः mpeg-2 और H264 का उपयोग करके उपरोक्त macroblocks को संपीड़ित करने का परिणाम है। बाईं ओर MPEG-2 सब-ब्लॉक डिवीजन के बाद संपीड़न का परिणाम है, और दायां आधा H264 उप-ब्लॉक संपीड़न का परिणाम है। यह देखा जा सकता है कि H264 डिवीजन विधि में अधिक फायदे हैं।
मैक्रो ब्लॉक विभाजित होने के बाद, H264 एनकोडर बफर में सभी चित्रों को समूहीकृत किया जा सकता है।
फ्रेम ग्रुपिंग
वीडियो डेटा के लिए, मुख्य रूप से दो प्रकार के डेटा अतिरेक हैं, एक समय में डेटा अतिरेक है, और दूसरा अंतरिक्ष में डेटा अतिरेक है। उनमें, समय में डेटा अतिरेक सबसे बड़ा है। चलिए सबसे पहले बात करते हैं वीडियो डेटा टाइम की अतिरेक समस्या की।
समय अतिरेक सबसे बड़ा क्यों है? यह मानते हुए कि कैमरा 30 फ्रेम प्रति सेकंड पर कब्जा कर लेता है, इन 30 फ्रेम के डेटा ज्यादातर संबंधित हैं। यह भी संभव है कि डेटा के 30 से अधिक फ्रेम, दसियों फ्रेम या डेटा के सैकड़ों फ्रेम विशेष रूप से निकटता से संबंधित हैं।
इन बहुत बारीकी से संबंधित फ़्रेमों के लिए, वास्तव में, हमें केवल डेटा के एक फ्रेम को बचाने की आवश्यकता है, और अन्य फ़्रेमों को कुछ नियमों के अनुसार इस फ्रेम से भविष्यवाणी की जा सकती है, इसलिए वीडियो डेटा में सबसे अधिक अतिरेक है।
यह सुनिश्चित करने के लिए कि संबंधित फ़्रेम भविष्यवाणी पद्धति के माध्यम से डेटा को संपीड़ित करता है, वीडियो फ्रेम को समूहित करना आवश्यक है। तो यह कैसे निर्धारित किया जाए कि कुछ तख्ते बारीकी से संबंधित हैं और एक साथ समूहित किए जा सकते हैं? आइए एक उदाहरण देखें। नीचे गति में बिलियर्ड गेंदों के एक समूह का कब्जा वीडियो फ्रेम है। बिलियर्ड बॉल ऊपरी दाएं कोने से निचले बाएं कोने तक जाती है।
H264 एनकोडर दो फ्रेमों की समानता की गणना करने के लिए macroblocks की तुलना करने के लिए हर बार दो आसन्न फ्रेम निकालेंगे। जैसा की नीचे दिखाया गया:
मैक्रो ब्लॉक स्कैन और मैक्रो ब्लॉक खोज के माध्यम से, यह पाया जा सकता है कि दो फ्रेम के बीच संबंध बहुत अधिक है। इसके अलावा, यह पाया गया है कि फ्रेम के इस समूह का सहसंबंध डिग्री बहुत अधिक है। इसलिए, उपरोक्त फ़्रेमों को एक समूह में विभाजित किया जा सकता है। एल्गोरिथ्म है: आसन्न छवियों में, आमतौर पर अलग-अलग होने वाले पिक्सेल केवल 10% के भीतर होते हैं, चमक का अंतर 2% से अधिक नहीं होता है, और क्रोमैटिसिटी अंतर केवल 1% के भीतर बदलता है। हमें लगता है कि यह ग्राफ एक साथ समूहीकृत किया जा सकता है।
फ़्रेम के ऐसे समूह में, एन्कोडिंग के बाद, हम केवल पहले पोस्ट का पूरा डेटा रखते हैं, और अन्य फ़्रेमों की गणना पिछले फ्रेम के संदर्भ में की जाती है। हम पहले फ्रेम को IDR / I फ्रेम कहते हैं, और अन्य फ़्रेम को हम P / B फ़्रेम कहते हैं, इसलिए हम एन्कोडेड डेटा फ़्रेम ग्रुप GOP को कॉल करते हैं।
मोशन का आकलन और मुआवजा
फ़्रेम को H264 एनकोडर में समूहीकृत करने के बाद, फ़्रेम समूह में ऑब्जेक्ट्स की गति वैक्टर की गणना करना आवश्यक है। एक उदाहरण के रूप में ऊपर चल रहे बिलियर्ड वीडियो फ्रेम को लेते हुए, आइए एक नज़र डालते हैं कि यह गति वेक्टर की गणना कैसे करता है।
H264 एनकोडर पहले बफर हेडर से अनुक्रम में वीडियो डेटा के दो फ्रेम निकालता है, और फिर मैक्रो ब्लॉक स्कैनिंग करता है। जब किसी चित्र में एक वस्तु मिलती है, तो खोज अन्य चित्र के आसपास के क्षेत्र में (खोज विंडो में) की जाती है। यदि इस समय ऑब्जेक्ट किसी अन्य छवि में पाया जाता है, तो ऑब्जेक्ट की गति वेक्टर की गणना की जा सकती है। निम्न चित्र खोज के बाद बिलियर्ड बॉल की स्थिति को दर्शाता है।
उपरोक्त चित्र में बिलियर्ड गेंदों की स्थिति के बीच अंतर के माध्यम से, तालिका चित्र की दिशा और दूरी की गणना की जा सकती है। H264 बारी-बारी से प्रत्येक फ्रेम में गेंद की गति की दूरी और दिशा को रिकॉर्ड करता है, और यह निम्नलिखित बन जाता है।
गति वेक्टर की गणना के बाद, मुआवजा डेटा प्राप्त करने के लिए समान भाग (यानी, हरा हिस्सा) घटाया जाता है। अंत में, हमें केवल मुआवजा डेटा को संपीड़ित करने और सहेजने की आवश्यकता है, और फिर डिकोडिंग करते समय मूल छवि को पुनर्स्थापित किया जा सकता है। संपीड़ित डेटा को केवल थोड़ी मात्रा में डेटा रिकॉर्ड करने की आवश्यकता होती है। निम्नलिखित नुसार:
हम मोशन वेक्टर और क्षतिपूर्ति को अंतर-फ्रेम संपीड़न तकनीक कहते हैं, जो समय में वीडियो फ्रेम के डेटा अतिरेक को हल करती है। अंतर-फ्रेम संपीड़न के अलावा, डेटा संपीड़न को फ्रेम के भीतर भी किया जाना चाहिए। इंट्रा-फ़्रेम डेटा संपीड़न स्थानिक डेटा अतिरेक को हल करता है। अब हम इंट्रा-फ्रेम कंप्रेशन तकनीक की शुरुआत करेंगे।
इंट्रा भविष्यवाणी
मानव आंख में छवि की मान्यता की डिग्री है, यह कम आवृत्ति की चमक के प्रति बहुत संवेदनशील है, और उच्च आवृत्ति की चमक के प्रति बहुत संवेदनशील नहीं है। इसलिए, कुछ शोधों के आधार पर, डेटा जो मानव आंखों के प्रति संवेदनशील नहीं है, उसे एक छवि से हटाया जा सकता है। इस तरह, इंट्रा भविष्यवाणी तकनीक प्रस्तावित है।
H264 का इंट्रा-फ्रेम संपीड़न JPEG के समान है। एक छवि को मैक्रोब्लॉक में विभाजित करने के बाद, प्रत्येक मैक्रोब्लॉक की भविष्यवाणी 9 मोड में की जा सकती है। भविष्यवाणी मोड ढूंढें जो मूल छवि के सबसे करीब है।
निम्नलिखित तस्वीर पूरी तस्वीर में प्रत्येक मैक्रो ब्लॉक की भविष्यवाणी करने की प्रक्रिया है।
इंट्रा भविष्यवाणी और मूल छवि के बाद छवि के बीच तुलना इस प्रकार है:
फिर, मूल छवि और इंट्रा-पूर्वानुमानित छवि को अवशिष्ट मान प्राप्त करने के लिए घटाया जाता है।
फिर हमें पहले मिली भविष्यवाणी मोड की जानकारी को सहेजें, ताकि डिकोडिंग के दौरान हम मूल छवि को पुनर्स्थापित कर सकें। प्रभाव इस प्रकार है:
इंट्रा-फ्रेम और इंटर-फ्रेम संपीड़न के बाद, हालांकि डेटा बहुत कम हो गया है, अनुकूलन के लिए अभी भी जगह है।
अवशिष्ट डेटा पर DCT करें
अवशिष्ट डेटा को डेटा के सहसंबंध को हटाने और आगे डेटा को संपीड़ित करने के लिए पूर्णांक असतत कोसिन परिवर्तन के अधीन किया जा सकता है। जैसा कि नीचे की आकृति में दिखाया गया है, बाईं ओर मूल डेटा का मैक्रो ब्लॉक है, और दाईं ओर परिकलित अवशिष्ट डेटा का मैक्रो ब्लॉक है।
अवशिष्ट डेटा का मैक्रोब्लॉक डिजीटल है जैसा कि नीचे दिए गए आंकड़े में दिखाया गया है:
DCT रूपांतरण अवशिष्ट डेटा macroblock पर किया जाता है।
संबंधित डेटा को हटाने के बाद, हम देख सकते हैं कि डेटा आगे संकुचित है।
डीसीटी किए जाने के बाद, यह पर्याप्त नहीं है, और दोषरहित संपीड़न के लिए सीएबीएसी की आवश्यकता है।
कैबेक
उपरोक्त इंट्रा-फ़्रेम संपीड़न एक हानिपूर्ण संपीड़न तकनीक है। दूसरे शब्दों में, छवि के संपीड़ित होने के बाद, इसे पूरी तरह से बहाल नहीं किया जा सकता है। CABAC एक दोषरहित संपीड़न तकनीक है।
दोषरहित संपीड़न तकनीक सभी के लिए सबसे परिचित हो सकती है, हफमैन कोडिंग, उच्च आवृत्ति वाले शब्दों के लिए एक छोटा कोड, डेटा संपीड़न के उद्देश्य को प्राप्त करने के लिए कम आवृत्ति वाले शब्दों के लिए एक लंबा कोड है। MPEG-2 में इस्तेमाल किया जाने वाला VLC इस तरह का एल्गोरिथ्म है, हम AZ को एक उदाहरण के रूप में लेते हैं, A उच्च आवृत्ति डेटा से संबंधित है, और Z कम आवृत्ति डेटा से संबंधित है। यह कैसे किया जाता है देखें।
CABAC उच्च-आवृत्ति डेटा के लिए एक छोटा कोड और कम-आवृत्ति डेटा के लिए एक लंबा कोड भी है। इसी समय, यह संदर्भ के आधार पर संपीड़ित होगा, जो वीएलसी की तुलना में बहुत अधिक कुशल है। प्रभाव इस प्रकार है:
अब AZ को वीडियो फ्रेम के साथ बदलें, और यह निम्नलिखित की तरह दिखेगा।
उपरोक्त तस्वीर से यह स्पष्ट है कि CACBA का उपयोग करने वाली दोषरहित संपीड़न योजना VLC से बहुत अधिक कुशल है।
सारांश
इस बिंदु पर, हमने H264 कोडिंग सिद्धांत को समाप्त कर दिया है। यह लेख मुख्य रूप से निम्नलिखित बिंदुओं के बारे में बात करता है:
1. जियानिन ने H264 में कुछ बुनियादी अवधारणाओं को पेश किया। जैसे कि I / P / B फ्रेम, GOP।
2. H264 एन्कोडिंग के मूल सिद्धांतों को विस्तार से समझाया, जिसमें शामिल हैं:
मैक्रो ब्लॉक डिवीजन
छवि समूहन
इंट्रा-फ्रेम संपीड़न प्रौद्योगिकी सिद्धांत
अंतर-फ्रेम संपीड़न तकनीक का सिद्धांत।
डीसीटी
CABAC संपीड़न सिद्धांत।
|
सरप्राइज पाने के लिए ईमेल डालें
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> अफ्रीकी
sq.fmuser.org -> अल्बानियाई
ar.fmuser.org -> अरबी
hy.fmuser.org -> अर्मेनियाई
az.fmuser.org -> अजरबैजानी
eu.fmuser.org -> बास्क
be.fmuser.org -> बेलारूसी
bg.fmuser.org -> बल्गेरियाई
ca.fmuser.org -> कातालान
zh-CN.fmuser.org -> चीनी (सरलीकृत)
zh-TW.fmuser.org -> चीनी (पारंपरिक)
hr.fmuser.org -> क्रोएशियाई
cs.fmuser.org -> चेक
da.fmuser.org -> डेनिश
nl.fmuser.org -> डच
et.fmuser.org -> एस्टोनियाई
tl.fmuser.org -> फिलिपिनो
fi.fmuser.org -> फिनिश
fr.fmuser.org -> फ्रेंच
gl.fmuser.org -> गैलिशियन्
ka.fmuser.org -> जॉर्जियाई
de.fmuser.org -> जर्मन
el.fmuser.org -> यूनानी
ht.fmuser.org -> हाईटियन क्रियोल
iw.fmuser.org -> हिब्रू
hi.fmuser.org -> हिन्दी
hu.fmuser.org -> हंगेरी
is.fmuser.org -> आइसलैंड का
id.fmuser.org -> इन्डोनेशियाई
ga.fmuser.org -> आयरिश
it.fmuser.org -> इतालवी
ja.fmuser.org -> जापानी
ko.fmuser.org -> कोरियाई
lv.fmuser.org -> लातवियाई
lt.fmuser.org -> लिथुआनियाई
mk.fmuser.org -> मकदूनियाई
ms.fmuser.org -> मलय
mt.fmuser.org -> माल्टीज
no.fmuser.org -> नार्वेजियन
fa.fmuser.org -> फारसी
pl.fmuser.org -> पॉलिश
pt.fmuser.org -> पुर्तगाली
ro.fmuser.org -> रोमानियाई
ru.fmuser.org -> रूसी
sr.fmuser.org -> सर्बियाई
sk.fmuser.org -> स्लोवाक
sl.fmuser.org -> स्लोवेनियाई
es.fmuser.org -> स्पेनिश
sw.fmuser.org -> स्वाहिली
sv.fmuser.org -> स्वीडिश
th.fmuser.org -> थाई
tr.fmuser.org -> तुर्की
uk.fmuser.org -> यूक्रेनी
ur.fmuser.org -> उर्दू
vi.fmuser.org -> वियतनामी
cy.fmuser.org -> वेल्श
yi.fmuser.org -> येहुदी
FMUSER वायुहीन प्रसारण वीडियो और ऑडियो अधिक आसान!
Contact
पता:
No.305 कक्ष हुआलन भवन नं .273 हुआनपु रोड गुआंगझाऊ चीन 510620
श्रेणियाँ
न्यूज़लैटर