2008-08-07 13 views
14

मैंने एक छवि/वीडियो परिवर्तन तकनीक लागू की है जिसे असतत कोसाइन ट्रांसफॉर्म कहा जाता है। इस तकनीक का उपयोग एमपीईजी वीडियो एन्कोडिंग में किया जाता है। मैं निम्नलिखित URL पर प्रस्तुत विचारों पर मेरे एल्गोरिथ्म आधारित:वीडियो संपीड़न: असतत कोसाइन परिवर्तन क्या है?

 
0140 0124 0124 0132 0130 0139 0102 0088 
0140
0143 0126 0126 0133 0134 0138 0081 0082 
0148 0126 0128 0136 0137 0134 0079 0130 
0147 0128 0126 0137 0138 0145 0132 0144 
0147 0131
0142 0135 0122 0137 0140 0138 0143 0112 
0140 0138 0125 0137 0140 0140 0148 0143 

यह एक में:

http://vsr.informatik.tu-chemnitz.de/~jan/MPEG/HTML/mpeg_tech.html

अब मैं इस तरह के रूप में, एक काले और सफेद छवि के एक 8x8 अनुभाग बदल सकता है शीर्ष दाईं ओर सभी महत्वपूर्ण जानकारी के साथ छवि। बदल ब्लॉक इस तरह दिखता है:

 
1041 0039 -023 0044 0027 0000 0021 -019 
-050 0044 -029 0000 0009 -014 0032 -010 
0000 0000 0000 0000 -018 0010 -017 0000 
0014 -019 0010 0000 0000 0016 -012 0000 
0010 -010 0000 0000 0000 0000 0000 0000 
-016 0021 -014 0010 0000 0000 0000 0000 
0000 0000 0000 0000 0000 0000 0000 0000 
0000 0000 -010 0013 -014 0010 0000 0000 

अब, मुझे पता है कि कैसे मैं इस बदलाव का लाभ ले सकते है? मैं एक ही छवि (या दूसरी छवि) में अन्य 8x8 ब्लॉक का पता लगाना चाहता हूं जो एक अच्छे मैच का प्रतिनिधित्व करते हैं।

इसके अलावा, यह परिवर्तन मुझे क्या देता है? रूपांतरित छवि के ऊपरी दाएं भाग में संग्रहीत जानकारी क्यों महत्वपूर्ण है?

उत्तर

1

यदि मुझे सही याद है, तो यह मैट्रिक्स आपको डेटा को संपीड़न के साथ फ़ाइल में सहेजने की अनुमति देता है।

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

आपके द्वारा फेंकने वाले मूल्यों की संख्या छवि निष्ठा की लागत पर संपीड़न बढ़ जाती है।

लेकिन मुझे यकीन है कि कोई और आपको बेहतर स्पष्टीकरण दे सकता है।

14

डीसीटी का परिणाम मूल स्रोत का आवृत्ति डोमेन में परिवर्तन है। शीर्ष बाएं प्रविष्टि "आधार" आवृत्ति "आयाम" को संग्रहित करती है और आवृत्ति क्षैतिज और लंबवत अक्ष दोनों के साथ बढ़ जाती है। डीसीटी का नतीजा आमतौर पर अधिक सामान्य आवृत्तियों (शीर्ष बाएं चतुर्भुज) और उच्च आवृत्तियों पर कम प्रविष्टियों पर आयामों का संग्रह होता है। जैसा कि लस्सेव ने उल्लेख किया है, इन उच्च आवृत्तियों को केवल शून्य करना सामान्य है क्योंकि वे आम तौर पर स्रोत के बहुत ही छोटे हिस्सों का गठन करते हैं। हालांकि, इसका परिणाम सूचना का नुकसान होता है। संपीड़न को पूरा करने के लिए डीसीटीएड स्रोत पर लापरवाही संपीड़न का उपयोग करना सामान्य है। यह वह जगह है जहां संपीड़न आता है क्योंकि शून्य के उन सभी रनों को लगभग कुछ भी नहीं मिलता है।

समान क्षेत्रों को खोजने के लिए डीसीटी का उपयोग करने का एक संभावित लाभ यह है कि आप निम्न आवृत्ति मानों (शीर्ष-बाएं कोने) पर पहला पास मैच कर सकते हैं। इससे आपके द्वारा मिलान करने के लिए आवश्यक मूल्यों की संख्या कम हो जाती है। यदि आपको निम्न आवृत्ति मानों के मिलान मिलते हैं, तो आप उच्च आवृत्तियों की तुलना में वृद्धि कर सकते हैं।

आशा इस मदद करता है

1

मैं Digital Video Compression की एक प्रति उठा सलाह देते हैं - यह चित्र और वीडियो के लिए संपीड़न एल्गोरिदम के एक बहुत अच्छी अवलोकन है।

4

मैंने The Data Compression Book से डीसीटी के बारे में जो कुछ भी मुझे सीखा, उसे मैंने सीखा। डेटा संपीड़न के क्षेत्र में एक महान परिचय के अलावा, यह हानिकारक छवि संपीड़न के अंत में एक अध्याय है जो जेपीईजी और डीसीटी पेश करता है।

1

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

छवियों की तुलना करने के लिए डीसीटी का उपयोग करने के मामले में, मुझे लगता है कि यदि आप उच्च आवृत्ति डेटा को काटते हैं और इसलिए खोज/मिलान करने के लिए डेटा का एक छोटा सा सेट होता है तो मुझे केवल वास्तविक लाभ होता है। हैर वेवलेट्स की तरह कुछ बेहतर छवि मिलान परिणाम दे सकता है।

2

इन प्रकार के परिवर्तनों के तहत अवधारणाओं को पहले एक आयामी मामले को देखकर अधिक आसानी से देखा जाता है। छवि here एक अनंत श्रृंखला के पहले शब्दों में से कई के साथ एक वर्ग लहर दिखाता है। इसे देखते हुए, ध्यान दें कि यदि शर्तों के लिए कार्य एक साथ जोड़े गए हैं, तो वे वर्ग लहर के आकार का अनुमान लगाना शुरू कर देते हैं। जितना अधिक शब्द आप जोड़ते हैं, उतना ही बेहतर अनुमान। लेकिन, एक अनुमान से सटीक सिग्नल तक पहुंचने के लिए, आपको एक अनंत संख्या की शर्तों को जोड़ना होगा। इसका कारण यह है कि वर्ग लहर असंतुलित है। यदि आप समय के कार्य के रूप में स्क्वायर वेव के बारे में सोचते हैं, तो यह शून्य से -1 से 1 तक जाता है। ऐसी चीज का प्रतिनिधित्व करने के लिए एक अनंत श्रृंखला की आवश्यकता होती है। श्रृंखला शर्तों की साजिश पर एक और नज़र डालें। पहला लाल, दूसरा पीला है। लगातार शब्दों में "ऊपर और नीचे" संक्रमण होते हैं। ये प्रत्येक शब्द की बढ़ती आवृत्ति से हैं। समय के एक समारोह के रूप में वर्ग लहर के साथ चिपके हुए, और प्रत्येक श्रृंखला शब्द आवृत्ति का एक कार्य दो समकक्ष प्रतिनिधित्व हैं: समय का एक कार्य और आवृत्ति का एक समारोह (1/समय)।

असली दुनिया में, कोई वर्ग तरंगें नहीं हैं। शून्य समय में कुछ भी नहीं होता है। ऑडियो सिग्नल, उदाहरण के लिए 20 हर्ट्ज से 20 किलोग्राम तक की दूरी पर कब्जा करें, जहां हर्ट 1/समय है। ऐसी चीजों को सीमित श्रृंखला के साथ प्रदर्शित किया जा सकता है।

छवियों के लिए, गणित समान हैं, लेकिन दो चीजें अलग हैं। सबसे पहले, यह दो आयामी है। दूसरी बार समय की धारणा का कोई मतलब नहीं है। 1 डी अर्थ में, वर्ग लहर केवल एक ऐसा कार्य है जो तर्क के लिए कुछ संख्यात्मक मान देता है जिसे हमने कहा था। एक (स्थैतिक) छवि एक ऐसा फ़ंक्शन है जो पंक्ति की प्रत्येक जोड़ी, कॉलम indeces के लिए संख्यात्मक मान देता है। दूसरे शब्दों में, छवि एक 2 डी स्पेस का एक कार्य है, जो एक आयताकार क्षेत्र है। इस तरह के एक समारोह को इसकी स्थानिक आवृत्ति के संदर्भ में प्रदर्शित किया जा सकता है। यह समझने के लिए कि स्थानिक आवृत्ति क्या है, 8 बिट ग्रे स्तर की छवि और आसन्न पिक्सल की एक जोड़ी पर विचार करें। छवि में हो सकता है कि सबसे अचानक ट्रांजिस्टियन 1 पिक्सेल की दूरी से 0 (काला कहें) से 255 (सफेद कहें) से जा रहा है। यह श्रृंखला श्रृंखला प्रतिनिधित्व की उच्चतम आवृत्ति (अंतिम) अवधि के साथ सीधे मेल खाता है।

छवि के दो आयामी फूरियर (या कोसाइन) परिवर्तन के परिणामस्वरूप छवि के समान आकार की एक सरणी में परिणाम होता है, जो उसी जानकारी का प्रतिनिधित्व करता है जो अंतरिक्ष के कार्य के रूप में नहीं, बल्कि 1/स्थान का कार्य होता है। मूल उच्चतम पंक्ति और कॉलम indeces से विकर्ण के साथ जानकारी निम्नतम से उच्चतम आवृत्ति से आदेश दिया जाता है। एक उदाहरण here है।

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

इसे देखने का एक और तरीका एक छवि को छोटे आकार में कम करना है। यदि, उदाहरण के लिए, आप एक पंक्ति के प्रत्येक चार पिक्सेल में से तीन को फेंककर और प्रत्येक चार पंक्तियों में से तीन को फेंककर किसी छवि के आकार को कम करने का प्रयास करते हैं, तो आपके पास आकार 1/4 आकार होगा लेकिन छवि भयानक दिखाई देगी। ज्यादातर मामलों में, यह 2 डी इंटरपोलेटर के साथ पूरा किया जाता है, जो बड़ी छवि के पिक्सेल के आयताकार समूहों के औसत से नए पिक्सेल उत्पन्न करता है। ऐसा करने में, इंटरपोलेशन का आवृत्ति डोमेन में सीरीज़ शर्तों को फेंकने का प्रभाव पड़ता है, केवल गणना करने के लिए यह बहुत तेज़ है।

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

ऑडियो सिग्नल के लिए, संयुक्त पाप और कोसाइन कार्यों को उनके तर्कों में एक अटैचमेंट मात्रा लेने के बारे में सोचें ताकि फ़ंक्शन को आगे और आगे (सिग्नल प्रतिनिधित्व के एक हिस्से के रूप में) स्थानांतरित किया जा सके। एक छवि के लिए, चरण की जानकारी बताती है कि आवृत्ति स्थान में अन्य शर्तों के संबंध में श्रृंखला के प्रत्येक शब्द को कैसे स्थानांतरित किया जाता है। छवियों में, किनारों (उम्मीद है) इतनी अलग हैं कि वे आवृत्ति डोमेन में सबसे कम आवृत्ति शर्तों द्वारा अच्छी तरह से विशेषता है। ऐसा इसलिए नहीं होता क्योंकि वे अचानक संक्रमण होते हैं, लेकिन क्योंकि उनके पास उदा। बहुत सारे हल्के क्षेत्र के निकट बहुत काला क्षेत्र। एक किनारे के एक आयामी टुकड़ा पर विचार करें। ग्रे स्तर शून्य है तो संक्रमण होता है और वहां रहता है। साइन लहर को विज़ुअलाइज़ करें जो पहले अनुमानित शब्द हो, जहां यह पाप (0) पर सिग्नल संक्रमण के मध्य बिंदु को पार करता है। इस शब्द का चरण कोण छवि स्थान में विस्थापन के अनुरूप है। इसका एक शानदार चित्र here उपलब्ध है। यदि आप आकार ढूंढने की कोशिश कर रहे हैं और संदर्भ आकार बना सकते हैं, तो यह उन्हें पहचानने का एक तरीका है।

संबंधित मुद्दे