इंटर फ्रेम

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

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

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

संक्षेप में, यदि एनकोडर एक संदर्भ फ्रेम पर एक मिलान ब्लॉक ढूंढने में सफल होता है, तो यह मिलान किए गए ब्लॉक और एक भविष्यवाणी त्रुटि की ओर इशारा करते हुए एक मोशन वेक्टर प्राप्त करेगा। दोनों तत्वों का उपयोग करके, डिकोडर ब्लॉक के कच्चे पिक्सल को पुनर्प्राप्त करने में सक्षम होगा। निम्नलिखित छवि पूरी प्रक्रिया को ग्राफ़िक रूप से दिखाती है:

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

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

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

फ़्रेम प्रकार
पी-फ़्रेम और बी-फ़्रेम के बीच का अंतर संदर्भ फ़्रेम है जिसका उन्हें उपयोग करने की अनुमति है।

पी-फ़्रेम
पी-फ़्रेम वह शब्द है जिसका उपयोग आगे की अनुमानित तस्वीरों को परिभाषित करने के लिए किया जाता है। भविष्यवाणी पहले की तस्वीर से की जाती है, मुख्य रूप से एक आई-फ़्रेम या पी-फ़्रेम, ताकि कम कोडिंग डेटा की आवश्यकता हो (आई-फ़्रेम आकार की तुलना में ≈50%)।

इस भविष्यवाणी को करने के लिए आवश्यक डेटा की मात्रा में गति वैक्टर और भविष्यवाणी सुधार का वर्णन करने वाले परिवर्तन गुणांक शामिल हैं। इसमें गति क्षतिपूर्ति का उपयोग शामिल है।

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

पी-फ़्रेम के समान, बी-फ़्रेम को गति वैक्टर और परिवर्तन गुणांक के रूप में व्यक्त किया जाता है। बढ़ती प्रसार त्रुटि से बचने के लिए, अधिकांश एन्कोडिंग मानकों में आगे की भविष्यवाणी करने के लिए बी-फ्रेम का उपयोग संदर्भ के रूप में नहीं किया जाता है। हालाँकि, नई एन्कोडिंग विधियों (जैसे H.264/MPEG-4 AVC और HEVC) में, बी-फ्रेम का उपयोग अस्थायी अतिरेक के बेहतर दोहन के लिए संदर्भ के रूप में किया जा सकता है।

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

यह संरचना एक समस्या का सुझाव देती है क्योंकि दूसरे और तीसरे (बी-फ्रेम) की भविष्यवाणी करने के लिए चौथे फ्रेम (एक पी-फ्रेम) की आवश्यकता होती है। इसलिए हमें बी-फ्रेम से पहले पी-फ्रेम को प्रसारित करने की आवश्यकता है और इससे ट्रांसमिशन में देरी होगी (पी-फ्रेम को रखना आवश्यक होगा)।

इस संरचना में मजबूत बिंदु हैं:
 * यह संभावित खुले क्षेत्रों की समस्या को कम करता है।
 * पी-फ्रेम और बी-फ्रेम को आई-फ्रेम की तुलना में कम डेटा की आवश्यकता होती है, इसलिए कम डेटा प्रसारित होता है।

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

H.264 इंटर फ्रेम भविष्यवाणी सुधार
इससे पहले के मानकों (विशेषकर एमपीईजी-2) के संबंध में एच.264 तकनीक के सबसे महत्वपूर्ण सुधार हैं:
 * अधिक लचीला ब्लॉक विभाजन
 * ¼ पिक्सेल मोशन कंपंसेशन तक का रिज़ॉल्यूशन
 * एकाधिक संदर्भ
 * उन्नत डायरेक्ट/स्किप मैक्रोब्लॉक

अधिक लचीला ब्लॉक विभाजन
16×16 (एमपीईजी-2), 16×8, 8×16, और 8×8 का ल्यूमिनेंस ब्लॉक विभाजन। अंतिम मामला ब्लॉक को 4×8, 8×4, या 4×4 के नए ब्लॉक में विभाजित करने की अनुमति देता है।

कोड किए जाने वाले फ़्रेम को समान आकार के ब्लॉकों में विभाजित किया गया है जैसा कि ऊपर चित्र में दिखाया गया है। प्रत्येक ब्लॉक पूर्वानुमान संदर्भ चित्रों के समान आकार के ब्लॉक होंगे, जो एक छोटे विस्थापन से ऑफसेट होंगे।

¼ पिक्सेल गति मुआवजे तक का रिज़ॉल्यूशन
अर्ध-पिक्सेल स्थिति पर पिक्सेल लंबाई 6 का फ़िल्टर लागू करके प्राप्त किए जाते हैं।

एच=[1 -5 20 20 -5 1], यानी। अर्ध-पिक्सेल b =A - 5B + 20C + 20D - 5E + F

क्वार्टर-पिक्सेल स्थिति पर पिक्सेल द्विरेखीय प्रक्षेप द्वारा प्राप्त किए जाते हैं।

जबकि MPEG-2 ½ पिक्सेल रिज़ॉल्यूशन की अनुमति देता है, इंटर फ़्रेम ¼ पिक्सेल रिज़ॉल्यूशन तक की अनुमति देता है। इसका मतलब यह है कि फ़्रेम में किसी ब्लॉक को अन्य संदर्भ फ़्रेमों में कोडित करना संभव है, या हम उन ब्लॉकों को ढूंढने के लिए गैर-मौजूद पिक्सेल को प्रक्षेपित कर सकते हैं जो वर्तमान ब्लॉक के लिए और भी बेहतर अनुकूल हैं। यदि मोशन वेक्टर नमूनों की इकाइयों की एक पूर्णांक संख्या है, तो इसका मतलब है कि संदर्भ चित्रों में गति में मुआवजे वाले ब्लॉक को ढूंढना संभव है। यदि मोशन वेक्टर एक पूर्णांक नहीं है, तो एक इंटरपोलेटर फ़िल्टर द्वारा क्षैतिज और ऊर्ध्वाधर दिशाओं में इंटरपोलेटेड पिक्सेल से पूर्वानुमान प्राप्त किया जाएगा।



एकाधिक संदर्भ
गति अनुमान के एकाधिक संदर्भ 2 संभावित बफ़र्स में सर्वोत्तम संदर्भ ढूंढने की अनुमति देते हैं (सूची 0 से पिछली तस्वीरों के लिए, सूची 1 भविष्य की तस्वीरों के लिए) जिसमें कुल 16 फ्रेम तक होते हैं। ब्लॉक भविष्यवाणी संदर्भ चित्र से ब्लॉकों के भारित योग द्वारा की जाती है। यह उन दृश्यों में बेहतर तस्वीर गुणवत्ता की अनुमति देता है जहां विमान, ज़ूम में परिवर्तन होता है, या जब नई वस्तुएं सामने आती हैं।



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

गति निकालने के दो तरीके हैं: ; टेम्पोरल: यह मोशन वेक्टर निकालने के लिए उसी स्थिति में स्थित सूची 1 फ्रेम से ब्लॉक मोशन वेक्टर का उपयोग करता है। सूची 1 ब्लॉक संदर्भ के रूप में सूची 0 ब्लॉक का उपयोग करता है।
 * स्थानिक: यह एक ही फ्रेम में पड़ोसी मैक्रोब्लॉक से आंदोलन की भविष्यवाणी करता है। एक संभावित मानदंड पड़ोसी ब्लॉक से मोशन वेक्टर की प्रतिलिपि बनाना हो सकता है। इन मोड का उपयोग चित्र के एकसमान क्षेत्रों में किया जाता है जहाँ अधिक हलचल नहीं होती है।

उपरोक्त चित्र में, गुलाबी ब्लॉक डायरेक्ट/स्किप मोड कोडित ब्लॉक हैं। जैसा कि हम देख सकते हैं, इनका उपयोग बहुत बार किया जाता है, मुख्यतः बी-फ़्रेम में।

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

MPEG-2, H.264 या Ogg Theora जैसे वीडियो कोडेक्स एक या अधिक इंटर फ़्रेम के साथ मुख्य फ़्रेम का अनुसरण करके स्ट्रीम में डेटा की मात्रा को कम करते हैं। इन फ़्रेमों को आमतौर पर मुख्य फ़्रेमों के लिए आवश्यक बिट दर से कम बिट दर का उपयोग करके एन्कोड किया जा सकता है क्योंकि छवि का अधिकांश भाग सामान्य रूप से समान होता है, इसलिए केवल बदलते भागों को कोड करने की आवश्यकता होती है।

यह भी देखें

 * वीडियो संपीड़न चित्र प्रकार

संदर्भ

 * Software H.264: http://iphome.hhi.de/suehring/tml/download/
 * T.Wiegand, G.J. Sullivan, G. Bjøntegaard, A.Luthra: Overview of the H.264/AVC Video Coding Standard. IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, July 2003